假定一款游戏中共有A,B.C,D四种商品,每种商品的金币价格存在字典price={’A’:20,’B':30,’c’:40,'D':50)中。编写一个程序,输入一个金币值。以及若干商品名称,判断若能购买这些商品,输出YES,否则输出NO。
回答引用ChatGPT:以下是可以实现该功能的 Python 代码:
price = {'A': 20, 'B': 30, 'C': 40, 'D': 50} # 商品价格字典
def can_afford(gold, items):
total_cost = sum(price[item] for item in items)
if gold >= total_cost:
return "YES"
else:
return "NO"
gold = int(input("请输入您的金币数量:"))
items = input("请输入要购买的商品名称(用空格分隔):").split()
print(can_afford(gold, items))
首先,我们定义了一个 price 字典,其中包含了每种商品的金币价格。接着,我们定义了一个名为 can_afford 的函数,该函数接受两个参数:gold 表示金币数量,items 表示要购买的商品名称列表。函数首先使用一个列表推导式计算出购买这些商品的总价钱,然后将其与用户的金币数量进行比较,如果足够购买,返回字符串 "YES",否则返回 "NO"。
最后,我们从用户那里获取金币数量和商品名称列表,然后调用 can_afford 函数并打印其返回值即可。
price={'A':20,'B':30,'C':40,'D':50}
credit = int(input())
items = input().split()
if len(set(items) - set(price)) > 0:
print('NO') # 有不在商品列表的内容
elif sum([price[k] for k in items]) > credit:
print('NO')
else:
print('YES')
该回答引用ChatGPTpython
price = {'A':20, 'B':30, 'C':40, 'D':50}
coins = int(input("请输入金币值:"))
items = input("请输入商品名称,用空格分隔:").split()
total_price = 0
for item in items:
if item not in price:
print("商品名称有误:", item)
break
total_price += price[item]
if total_price <= coins:
print("YES")
else:
print("NO")
请输入金币值:100
请输入商品名称,用空格分隔:A B C
YES