[英]Adding values from a list based on user input
我正在嘗試列出一個項目列表,每個項目都有不同的數量,並根據用戶輸入計算需要多少個項目。
例如,根據有多少客人來的晚餐雜貨清單。 (5 個胡蘿卜、3 個洋蔥、4 個辣椒、2 個熱狗和 1 磅漢堡包)每位客人。 因此,用戶將輸入有多少客人將參加,並且項目計數將根據輸入相乘並打印該值。
我是 python 的新手,雖然我知道這是一個簡單的問題並且我之前已經介紹過,但過去兩天我一直在努力准備測試,並認為我想多了,因為我什至不能來關閉 - 知道一旦我看到它或類似的東西就會點擊,真是令人沮喪。 任何幫助表示贊賞。 我知道語法是錯誤的,一切都搞砸了,我只是快速輸入了這個來說明我正在嘗試做的事情的一般概念。 再次感謝。
groc_list= int(input('Enter number of students: ')
carrots= (groc_list* 5)
onions= (groc_list* 3)
peppers= (groc_list* 4)
hot_dogs= (groc_list* 2)
hamburger= (groc_list* 1)
print('You will need', carrots, 'onions', peppers, 'hot dogs', pounds of hamburger')
這有效:
groc_list = int(input("Enter number of students: "))
carrots = groc_list * 5
onions = groc_list * 3
peppers = groc_list * 4
hot_dogs = groc_list * 2
hamburger = groc_list * 1
print(
f"You will need {carrots} carrots, {onions} onions, {peppers} peppers, {hot_dogs} hot dogs, {hamburger} pounds of hamburger."
)
可能這會更適合你:
students = int(input("Enter number of students: "))
grocery_multiplier = {
'carrots': 5,
'onions': 3,
'peppers': 4,
'hot dogs': 2,
'hamburger': 1,
}
texts = []
for field, multiplier in grocery_multiplier.items():
texts.append(f"{multiplier * students} {field}")
print('You will need ' + ', '.join(texts))
當您需要添加、刪除要計算的項目時。
結果:
輸入學生人數:5
你需要25個胡蘿卜、15個洋蔥、20個辣椒、10個熱狗、5個漢堡
檢查這是否有效。 隨意問任何問題:)
groc_list= int(input('Enter number of students: '))
carrots = (groc_list * 5)
onions= (groc_list* 3)
peppers= (groc_list* 4)
hot_dogs= (groc_list* 2)
hamburger= (groc_list* 1)
print("You will need" , str(carrots)+" " + "carrots ", str(onions)+" "+"onions ", str(peppers)+" "+ "peppers ",str(hot_dogs)+" "+"hot_dogs ", str(hamburger)+" "+ "pounds of hamburger")```
第 1 行出現語法錯誤,括號未正確關閉。
groc_list= int(input('Enter number of students: '))
carrots= groc_list* 5
onions= groc_list* 3
peppers= groc_list* 4
hot_dogs= groc_list* 2
hamburger= groc_list* 1
print(f'carrots-{carrots}, onions-{onions},peppers-{peppers},hotdogs-{hot_dogs}, hamburgers-{hamburger} ')
在我看來,您應該使用字典來跟蹤所有變量,並使用 func。 您還錯過了第一行的圓括號。 此外,最后,在打印時,使用 f。 這是我認為正確的代碼
num = int(input('Number of students: '))
mol_dict = {'carrots':5,'onions':3.........)
res_dict = {}
for i in mol_dict:
res_dict[i] = mol_dict[i] * num
print(f'You will need {res_dict['carrots']}.........')
這更具可讀性、更正確和可擴展性。
你的代碼基本差不多完成了。 做了一些小的調整:
groc_list = int(input('Enter number of students: '))
carrots = groc_list
onions = groc_list* 3
peppers = groc_list* 4
hot_dogs = groc_list* 2
hamburger = groc_list
print('You will need', carrots, 'carrots,', onions, 'onions,', peppers, 'peppers,', hot_dogs, 'hot dogs and', hamburger, 'hamburgers.')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.