【问题标题】:Python 3 for beginners Control Flow, While Loops and Break Statements适合初学者的 Python 3 控制流、While 循环和 Break 语句
【发布时间】:2021-05-07 10:38:26
【问题描述】:

我买了一本书来自学使用 Python 编程。我目前不参加任何在线课程。我在第 2 章中,并且在练习中遇到问题。我要编写一个程序,要求输入 10 个整数,然后打印最大的奇数。如果没有输入奇数,它应该打印一条消息。

x = 0
largest_odd = int() 
while(x < 10):
    user_input = int(input('Enter an integer '))
    if user_input%2 != 0 and user_input > largest_odd:
        largest_odd = user_input
    elif user_input%2 == 0 and x == 10:
        print('no odd numbers')
    x += 1
print(f'the largest odd number is {largest_odd}')

如果不打印最后一个打印语句,我很难输入所有偶数。我知道最后一个打印语句将打印,因为它在循环之外。但过去几个小时我一直在做这个,不知道我应该改变什么。

请帮忙。

【问题讨论】:

    标签: python-3.x while-loop break control-flow


    【解决方案1】:

    如果我理解正确的问题,你可以在循环之后放一个 IF 语句:

    x = 0
    largest_odd = 0
    
    while x < 10:
        user_input = int(input('Enter an integer '))
        
        # check if x is odd and bigger than largest_odd
        if user_input % 2 != 0 and user_input > largest_odd:
            largest_odd = user_input
        
        x += 1
    
    if not largest_odd:
        print('No odd numbers inputed!')
    else:
        print('The largest odd number is {}'.format(largest_odd))
    

    【讨论】:

    • 非常感谢!我有点生气,因为我想如果我刚刚离开电脑,我就可以弄清楚这一点!感谢您抽出宝贵时间提供帮助!
    【解决方案2】:

    您在使用 if 语句时走在了正确的轨道上。您需要做的是移动验证是否在循环本身之外没有奇数,并制作一个 else 语句,如果不是这样,则打印出最大的:

    x = 1
    largest_odd = int()
    while(x <= 10):
        user_input = int(input(f'Enter an integer ({x}/10): '))
        if user_input % 2 != 0 and user_input > largest_odd:
            largest_odd = user_input
        x += 1
    
    if largest_odd == 0:
        print('There was no odd numbers.')
    else:    
        print(f'The largest odd number is {largest_odd}')
    

    因为int() 会默认为0,如果你不给它一个参数,那么我们可以使用它作为验证,因为0 不是偶数。

    我还更改了 x 的值,将 while 语句更改为 x &lt;= 10,以便我们可以更好地表示输入。

    【讨论】:

      猜你喜欢
      • 2017-09-05
      • 1970-01-01
      • 2023-04-09
      • 2016-04-14
      • 1970-01-01
      • 2012-09-24
      • 1970-01-01
      • 2017-03-26
      • 2015-07-14
      相关资源
      最近更新 更多