在Python 2.7中查找最大值和最小值 我有一个任务,让用户选择随机数,这个程序会发现所有这些数字之间的最小和最大,如果没有输入一个数字,它会认为它是无效的输入。 以下是我编写的代码: largest = None smallest = None while True: inp = raw_input("Enter a number: ") if inp == 'done': break if len(inp) < 1: break try: num = int(inp) except: print "Invalid input" continue if smallest is None: smallest = num elif inp < smallest: smallest = num if largest is None: largest = num elif inp > largest: largest = num print "Maximum is %r" % (largest) print "Minimum is %r" % (smallest) max=None 最小=无 尽管如此: inp=原始输入(“输入一个数字:”) 如果inp==“完成”:中断 如果len(inp)

在Python 2.7中查找最大值和最小值 我有一个任务,让用户选择随机数,这个程序会发现所有这些数字之间的最小和最大,如果没有输入一个数字,它会认为它是无效的输入。 以下是我编写的代码: largest = None smallest = None while True: inp = raw_input("Enter a number: ") if inp == 'done': break if len(inp) < 1: break try: num = int(inp) except: print "Invalid input" continue if smallest is None: smallest = num elif inp < smallest: smallest = num if largest is None: largest = num elif inp > largest: largest = num print "Maximum is %r" % (largest) print "Minimum is %r" % (smallest) max=None 最小=无 尽管如此: inp=原始输入(“输入一个数字:”) 如果inp==“完成”:中断 如果len(inp),python,python-2.7,Python,Python 2.7,问题是,为什么它不起作用? 这是一些随机数,我试过了,得到了一些奇怪的结果。 你把搞混了,你在比较inp,它是一个字符串,与最小的和最大的相比较,而不是num你把和搞混了,你在比较inp,它是一个字符串,与最小的和最大的相比较你的缩进不是num而是错误的,你犯了很多印刷错误。看看这个代码。 在if-then-else中,您必须将num与最小的和最大的进行比较,而不是inp largest = None smallest = None while True: inp = raw_inpu

问题是,为什么它不起作用? 这是一些随机数,我试过了,得到了一些奇怪的结果。

你把
搞混了,你在比较
inp
,它是一个字符串,与
最小的
最大的
相比较,而不是
num
你把
搞混了,你在比较
inp
,它是一个字符串,与
最小的
最大的
相比较你的缩进不是
num

而是错误的,你犯了很多印刷错误。看看这个代码。 在if-then-else中,您必须将
num
最小的
最大的
进行比较,而不是
inp

largest = None
smallest = None

while True:
    inp = raw_input("Enter a number: ")

    if inp == 'done': break
    try:
        num = int(inp)
    except:
        print "Invalid input"
        continue

    print num
    if smallest is None: smallest = num
    elif num < smallest: smallest = num

    if largest is None: largest = num
    elif num > largest: largest = num

print "Maximum is %r" % (largest)
print "Minimum is %r" % (smallest)
max=None
最小=无
尽管如此:
inp=原始输入(“输入一个数字:”)
如果inp==“完成”:中断
尝试:
num=int(inp)
除:
打印“无效输入”
持续
打印数
如果最小值为无:最小值=num
elif num<最小值:最小值=num
如果最大值为无:最大值=num
elif num>最大:最大=num
打印“最大值为%r”%(最大值)
打印“最小值为%r”%(最小值)

您的缩进错误,并且出现了很多打印错误。看看这个代码。 在if-then-else中,您必须将
num
最小的
最大的
进行比较,而不是
inp

largest = None
smallest = None

while True:
    inp = raw_input("Enter a number: ")

    if inp == 'done': break
    try:
        num = int(inp)
    except:
        print "Invalid input"
        continue

    print num
    if smallest is None: smallest = num
    elif num < smallest: smallest = num

    if largest is None: largest = num
    elif num > largest: largest = num

print "Maximum is %r" % (largest)
print "Minimum is %r" % (smallest)
max=None
最小=无
尽管如此:
inp=原始输入(“输入一个数字:”)
如果inp==“完成”:中断
尝试:
num=int(inp)
除:
打印“无效输入”
持续
打印数
如果最小值为无:最小值=num
elif num<最小值:最小值=num
如果最大值为无:最大值=num
elif num>最大:最大=num
打印“最大值为%r”%(最大值)
打印“最小值为%r”%(最小值)

代码示例中的缩进出现了一些有趣的现象;考虑到在Python中它是重要的,您应该真正修复它(就像现在一样,Python解释器会拒绝运行它)。不,不,缩进是正确的,我只是不熟悉堆栈溢出,这就是为什么我没有缩进一些行的原因p代码示例中的缩进有一些有趣的地方;考虑到在Python中它是重要的,您应该真正修复它(就像现在一样,Python解释器会拒绝运行它)。不,不,缩进是正确的,我只是不熟悉堆栈溢出,这就是为什么我没有缩进一些行的原因PI编辑,你能检查一下我新发布的图片吗?谢谢是的是的,你是对的,让我换一下再试一次。好的,是的,现在可以了,非常感谢。那是一个非常愚蠢的错误。我编辑过,你能看看我新贴的照片吗?谢谢是的是的,你是对的,让我换一下再试一次。好的,是的,现在可以了,非常感谢。那是一个非常愚蠢的错误。是的,你的也可以,它也在执行键入的数字。在我的代码中,我交换了符号并将inp更改为num,它正在成功执行。是的,你的代码也可以,它也在执行键入的数字。在我的代码中,我交换了符号并将inp更改为num,它正在成功执行。