python基础
"""用Python语言设计设计一个计算购书款的程序,如果有会员卡,购书5本以上,书款按照7.5折结算,
用Python语言设计设计一个计算购书款的程序,如果有会员卡,购书5本以上,书款按照7.5折结算,5本以下,按85折结算,如果没有会员卡,购书5本以上,按8.5折结算,5本以下按照9.5折结算。
"""
books=[]
while True:
book = input("请输入您的书目:")
if book == "": break
books.append(book)
print("您总共购买了{}书".format(len(books)))
# 计算出无折扣总价
bookdic={}
pre_cost=0
for i in books:
bookdic=float(input("请输入{}的价格:".format(i)))
pre_cost=sum(list(bookdic.values())){:5_104:} {:5_104:}
namevip=input("请问您是否是会员:(y or n)")
if namevip=="y" and len(books)>=5:
rate=0.75
elif namevip=="y" and len(books)<5:
rate=0.85
elif namevip=="n" and len(books)>=5:
rate=0.85
else:
rate=0.95
print("您实际付费为{}元".format(round(pre_cost*rate,2)))
打表情{:5_104:} 的那一行 list有什么作用吗为什么要添加请问我删了代码还是可以运行
这一句
pre_cost=sum(list(bookdic.values()))
把代码删掉?那你是怎么删的? 理论上来说加不加都行, bookdic.values() 返回的是一个dict_values 的类型,这个类跟字典和列表一样都是可以迭代的,也就是都是可以看成一个迭代器。而SUM就是函数其实就是把里面的值以此取出来然后求和你可以堪成:
def sum(dict_values):
sum_ = 0
for i in dict_values:
sum_ += i
return sum_
所以list 加不加都不影响sum的值,但是由于dict_values始终是dict_values的类 不是list的类,他们之间的可以用的方法还是不完全一样的。只是对于你的这个sum 的case是一样的结果 jackz007 发表于 2022-6-19 16:05
这一句
把代码删掉?那你是怎么删的?
单独删个list 楼下回复啦
页:
[1]