Python硬件分配简介

时间:2017-07-25 02:28:04

标签: python

说明:编写一个程序,重复提示用户输入整数,直到用户输入“完成”。输入“完成”后,打印出最大和最小的数字。如果用户输入除有效数字以外的任何内容,请使用try / except捕获它并输出相应的消息并忽略该数字。输入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')
        continue


   if smallest is None or num < smallest :
       smallest = num
   elif largest is None or num > largest :
       largest = num

print("Maximum is", largest)
print("Minimum is", smallest) 

因此在输入7,2,bob,10和4,然后输入done之后,代码将不会打印出最后两行中编码的最大和最小数字。我的错误在哪里?

由于

2 个答案:

答案 0 :(得分:0)

您可以将数字附加到列表中,并使用内置方法为您执行此操作,min()max()。例如:

my_list = []

while True:
    num = input("Enter a number: ")
    if num == "done" : 
        break
    try:
        num = int(num)
        my_list.append(num)
    except: 
        print('Invalid input')
        continue

largest = max(my_list)
smallest = min(my_list)

print("Maximum is", largest)
print("Minimum is", smallest) 

答案 1 :(得分: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,smallest = num,num
    elif num < smallest :
       smallest = num
    elif num > largest :
       largest = num

print("Maximum is", largest)
print("Minimum is", smallest)