Skip to main content
 首页 » 编程设计

python之基本 Python 循环 : Max and Min from User Input

2025年05月04日15lexus

我正在尝试在 python 中为一个类创建一个程序,但我不明白为什么我无法获得预期的输出。 该程序将获取用户输入值,直到输入“完成”,然后打印这些值的最大值和最小值。它还对有效输入(数字而非文本)进行一些错误检查。

largest = None 
smallest = None 
while True: 
    inp = raw_input("Enter a number: ") 
    if inp == "done" :  
        break 
    try: 
        num=float(inp) 
    except: 
        print "Invalid input" 
        continue 
 
    if inp>largest:  
        largest=inp 
    if inp<smallest:  
        smallest=inp 
 
print "Maximum is ", largest 
print "Minimum is ", smallest 

如果插入“完成”,循环将正确中断。如果输入文本字符串,它不会失败,但也不会打印“无效输入”。我不是要别人解决我的家庭作业计划,而是要向我解释为什么我从来没有得到最大或最小的值,而不是他们最初分配的“无”。

提前致谢。

请您参考如下方法:

largest = None 
smallest = None 
num = None 
 
while True: 
    inp = raw_input("Enter a number: ") 
    if inp == "done" :  
        break 
    try: 
        num=float(inp) 
    except: 
        print ("Invalid input") 
        continue 
 
    if largest is None: 
        largest = num 
        smallest = num 
 
    if num>largest:  
        largest=num 
    if num<smallest:  
        smallest=num 
 
print ("Maximum is ", largest) 
print ("Minimum is ", smallest)