numbers=[]
maximum=0
while True:
number =input("Enter a number:")
if number == "0":
break
else:
numbers.append(number)
print ("The largest number entered was:")
print (max(numbers))
只有当我输入这些数字时,这似乎适用于10以下的数字:
Enter a number:10
Enter a number:9
Enter a number:3
Enter a number:4
Enter a number:23
Enter a number:0
The largest number entered was:
9
正如你所看到的,最大的数字实际上是23,但它打印了9,我做错了什么?
答案 0 :(得分:2)
您正在追加字符串,而是追加整数:
numbers.append(int(number))
或更好:
while True:
number = int(input("Enter a number:"))
if not number:
break
else:
numbers.append(number)
编辑:你可以用try-except
块包装整数转换,以确保用户只输入数字:
while True:
nb = input('Enter a number:')
try:
nb = int(nb)
if not nb:
break
else:
numbers.append(nb)
except ValueError:
print('Please Enter Valid Number')
print ("The largest number entered was:")
print (max(numbers))
答案 1 :(得分:1)
您将返回字典最大值,即9.这是因为您从字符串类型构建append(int(number))
容器。
要返回数字最大值,请使用 Run keyword if '${var_a}' == 'X' and '${var_b}' == 'Y'
... Click Element Locator_a
... ELSE IF '${var_a}' == 'X' and '${var_b}' != 'Y'
... Click Element Locator_b
... ELSE
... Click Element Locator_c
为整数构建容器。
答案 2 :(得分:0)
您可以将int
附加到max
,或将map
和int
list
打印到print (max(map(int, numbers)))
:
numbers