繁体   English   中英

在python中找到最小值和最大值

[英]finding min and max in python

编写一个程序,反复提示用户输入整数,直到用户输入“完成”。 输入“完成”后,打印出最大和最小的数字。 如果用户输入的不是有效数字的任何内容,则使用 try/except 捕获它并发出适当的消息并忽略它。

这是我尝试过很多方法但无法达到最小和最大数字的问题。 请帮我写代码:

largest = None
samllest = None
while True:
    num = input("Enter Numbers:")
    if num == 'done' :
        break
    else:
        try:
            n = int(num)
        except:
            print("Invalid Input")

使用 walrus 运算符来获得乐趣和简洁:

numbers = list()
while (the_input := input('Enter a number:')) != 'done':
    numbers.append(int(the_input))
print(f'{min(numbers)=}, {max(numbers)=}')

你可以做一个输入数字的列表:

numbers=[]
while True:
    num = input("Enter Numbers:")
    if num == 'done' :
        break
    else:
        try:
            numbers.append(int(num))
        except:
            print("Invalid Input")
print("Min", str(min(numbers)))
print("Max", str(max(numbers)))

你会得到这样的结果:

Enter Numbers:2
Enter Numbers:3
Enter Numbers:4
Enter Numbers:5
Enter Numbers:6
Enter Numbers:7
Enter Numbers:8
Enter Numbers:done
Min 2
Max 8

给你,试探一下:

lg = None
sm = None
s = None

while s != 'done':
    s = input("Enter numbers:")
    if s.isdigit():
        s = int(s)
        if lg == None and sm == None:
            lg = s
            sm = s
            
        if lg <= s:
            lg = s
        if sm >= s:
            sm = s
            
print(f"Min: {sm}, Max: {lg}")

你可以测试它:

Enter numbers:5
Enter numbers:6
Enter numbers:1
Enter numbers:5
Enter numbers:8
Enter numbers:9
Enter numbers:done
Min: 1, Max: 9

如果你想要一个 try/except 块......

lg = None
sm = None
s = None

while s != 'done':
    try:
        s = int(input("Enter numbers:"))
        if lg == None and sm == None:
            lg = s
            sm = s
            
        if lg <= s:
            lg = s
        if sm >= s:
            sm = s
            
    except Exception as e:
        print(e)
        
print(f"Min: {sm}, Max: {lg}")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM