python经典例题(持续更新)

1.打印9*9乘法表

for i in range(1, 10):
    for j in range(1, 10):
        print(j, "x", i, "=", i * j, "\t", end="")
        if i == j:
            print()
            break
       
 
for i in range(1,10):
    for j in range(1,i+1):
        print('%s*%s=%s'%(i,j,i*j),end=' ')
    print()


print ("\n".join("\t".join(["%s*%s=%s" %(x,y,x*y) \
            for y in range(1, x+1)]) for x in range(1, 10)))

2.# 要求用户输入总资产,例如:2000 显示商品列表,让用户根据序号选择商品,

# 加入购物车 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
shopping = []
salary = input("your salary:").strip()
if salary.isdigit():
    salary = int(salary)
    print("以下是商品列表:")
    for index, item in enumerate(goods):
            print(index, item['name'], item['price'])

    while True:
        choice = input('what you want to buy:').strip()
        choice = int(choice)
        if (choice >= 0) and (choice < len(goods)):
            salary -= int(goods[choice]['price'])
            shopping.append((goods[choice]['name']))
            print('你所购买商品:%s' % goods[choice]['name'])
            print('你所剩余额:%s' % salary)
            if salary < int(goods[choice]['price']):
                print('你的余额已经不足以购买该商品')
                print('一下是你所购买的商品清单:', '\n', shopping)
                exit()
            else:
                continue
        else:
            print('你输入有误,请重新输入选择序号')
else:
    print('你输入有误,请重新输入选择序号')

3.斐波那契数列各种写法:

i, j = 0, 1
while i < 10000:
    print(i,end='\t')
    i, j = j, i+j

 

fibs = [0,1]
for i in range(100):
    fibs.append(fibs[-1] + fibs[-2])
print(fibs)

 

class Fib:
def __init__(self,n = 10):
self.a = 0
self.b = 1
self.n = n
def __iter__(self):
return self
def __next__(self):
self.a, self.b = self.b, self.a + self.b
if self.a > self.n:
raise StopIteration
return self.a
f = Fib(100)
for i in f:
print(i)

 4.三级菜单

dic = {
"河北":{
"石家庄" :{'bei':66},
"邯郸" :{}
},
"河南":{
"郑州":{},
"开封":{}
}
}
lis = []
while True:
    for k in dic:
        print(k)
    choice = input('>>>')
    if not choice:continue
    if choice in dic:
        lis.append(dic)
        dic = dic[choice]
    elif choice == 'q':
        if len(lis) != 0:
            dic = lis.pop()
        else:
            print('顶层啦')

  

  

 

 

posted @ 2018-05-19 21:56  -Learning-  阅读(518)  评论(0编辑  收藏  举报