total_price = []
for i in range (5):
try:
price = list (input ("Enter the price of the sweet: "))
except ValueError:
print("Enter an integer")
total_price.append(price)
print (total_price)
print ("The most expensive sweet is " + str (max(total_price)))
print ("The least expensive sweet is" + str (min(total_price)))
这就是它的输出
Enter the price of the sweet: 10
Enter the price of the sweet: 20
Enter the price of the sweet: 30
Enter the price of the sweet: 40
Enter the price of the sweet: 50
[['1', '0'], ['2', '0'], ['3', '0'], ['4', '0'], ['5', '0']]
The most expensive sweet is ['5', '0']
The least expensive sweet is['1', '0']
>>>
我已经设法到达那个阶段,但是由于某种原因,我仍然遇到问题,因为它正在分离数组中的值。
答案 0 :(得分:0)
Python告诉您问题所在,total_price不可迭代,因为它是一个int,就像问max(7)是什么。您可能想要做一些事情,例如将所有5个输入存储在某个数组中,然后在该数组上调用sum,max,min。
示例-
A = [1, 2, 3, 4, 5]
print(max(A)) # 5
print(min(A)) # 1
print(sum(A)) # 15
答案 1 :(得分:0)
您正在使用max
函数,该函数期望一个可迭代的或两个以上的参数来选择较高的值,如其定义所示:
返回可迭代的最大项或两个或多个参数中的最大项”,
但是您要传递一个整数
答案 2 :(得分:0)
如果将价格存储在可迭代的列表中,则可以找到最昂贵的糖果的价格。如:
prices = []
for i in range(5):
try:
sweet_price = int(input("Enter price: "))
except ValueError:
print("ErrorMessage")
prices.append(sweet_price)
highest_price = max(prices)
请参见https://docs.python.org/3/library/functions.html#max
要查找元组中的最大值(如标题所示),请尝试
max(list(prices))
答案 3 :(得分:0)
# omitted part
try:
price = list(input("Enter the price of the sweet: "))
except ValueError:
print("Enter an integer")
在这里您将str
应用于list
来进行更改。例如,
read_value = '1234'
list(read_value)
Out:
['1', '2', '3', '4'] # type: list of str
要解决此问题,请使用int
:
# omitted part
try:
price = int(input("Enter the price of the sweet: "))
except ValueError:
print("Enter an integer")
对于单个输入,
read_value = '1234'
int(read_value)
Out:
1234 # type: int