python练习册(四)

Duang~Duang~小编又来送练习题啦!每天练习不能放松的,我们今天继续。

题目一:

"""
一球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
"""
high=100
rs=high#需要算上100米自由下落的高度,到地面才算第一次反弹
i=1
while i<=10:
    high /= 2
    rs+=high*2if i==10:
        print("第十次反弹%.10f米"%high)
        rs-=high*2 #第十次落地时经过的距离,不计算第十次反弹+落地距离
    i+=1

print("共经过%.10f米"%rs)

题目二:

"""
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,
又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
"""
x=1
day=9 #从第九天开始一一向前计算每天吃的桃子
while day>0:
    x=(x+1)*2 #前一天吃的桃子是今天桃子的 x/2-1=1  x=4
    day-=1
print("第一天一共摘了%d个"%x)

题目三:

"""
购物车 功能要求:
  要求用户输入总资产,例如:2000 显示商品列表,让用户根据序号选择商品,
加入购物车 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
goods=[{"name": "电脑", "price": 1999},{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},{"name": "美女", "price": 998},]

"""
goods=[{"name": "电脑", "price": 1999},{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},{"name": "美女", "price": 998},]
while True:
    money=input("请输入总资产:")
    if money.isdigit():
        money=int(money)
        break
    else:
        print("输入的不是数字,请重试")
print("-"*20+"商品列表"+"-"*20)
for i in range(0,len(goods)):
    gid=i
    print(gid+1,goods[i])

while True:
    s=input("请输入你要购买商品序号,用,隔开")
    if s.endswith(","):
        print("输入错误,不能以,结尾")
        continue
    tmp_list=s.split(",")
    goods_car=[]
    for m in tmp_list:
        if m.isdigit():
            m=int(m)
            goods_car.append(m)
        else:
            print("输入的不是数字序号,请重试!")
            break
        if not(1<=m<=len(goods)):
            print("输入的序号超过商品编号了,请重试!")
            break
    else:
        break

total_money=0
for j in goods_car:
    price=goods[j-1].get("price")
    total_money+=price

if total_money<money:
    print("购买成功!")
else:
    print("账户余额不足!")

 

posted @ 2022-06-09 17:59  小杉虎  阅读(101)  评论(0编辑  收藏  举报
/* 点击爆炸效果*/
// /* 鼠标点击求赞文字特效 */ /*鼠标跟随效果*/ /* */