簡體   English   中英

根據用戶輸入從列表中添加值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM