输入也可能包含字符串,但代码应该继续,输入为7,2,bob,10,4
需要帮助才能从用户输入数据中找到最大和最小的数据,当前代码只打印最后一个条目
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "done" : break
try:
num = int(num)
except:
print ("Invalid input")
if largest is None:
largest = num
elif num > largest:
largest = num
if smallest is None:
smallest = num
elif num < smallest:
smallest = num
print("Maximum is", largest)
print ("Minimum is", smallest)
答案 0 :(得分:0)
您只需使用min()
和max()
功能即可。代码如下:
while True:
num = input('Enter more than a number separated by a comma: ')
n = num.split(',')
print(n)
if len(n) >= 2:
for i in range(len(n)):
highest = max(n)
lowest = min(n)
print('Highest number: ' + highest)
print('Lowest number: ' + lowest)
else:
print("Please, at least enter 2 numbers separated by ','")
<强>概要强>
我们输入的输入存储在名为num
我们使用逗号分隔输入值
我们打印变种n
,类型列表
如果我们至少输入了两个不同的数字,我们将有一个for循环重复我们输入的数字
我们将最高数字存储在名为highest
我们将最小的数字存储在名为lowest
我们打印出最高和最低的数字
我希望得到帮助
我已检查过代码并且有效:)
答案 1 :(得分:0)
两个问题:
首先,要获取最大数量和最小数量的if语句不在while true
循环之外。因此,缩进最大和最小计算以将其包括在循环中。
第二,您的try
和except
将检查数字,并在使用字符串时显示invalid input
……但其余部分仍在使用输入您的代码。您需要将continue
添加到except
块中才能再次开始while
循环。
答案 2 :(得分:0)
程序将与以下程序代码一起使用:
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "done" : break
try:
num = int(num)
except:
print ("Invalid input")
continue
if largest is None:
largest = num
elif num > largest:
largest = num
if smallest is None:
smallest = num
elif num < smallest:
smallest = num
print("Maximum is", largest)
print ("Minimum is", smallest)
答案 3 :(得分:0)
l = None
s = None
while True:
num = input("Enter a number:")
if num == "done":
break
try:
fnum= int(num)
if l is None:
l = fnum
elif fnum>l:
l=fnum
if s is None: # get smallest value
s = fnum
elif fnum < s:
s = fnum
except:
print("Invalid Input")
print("Maximum", l)
print("Smallest", s)