循环无法完成...缩进不良?

时间:2019-04-11 19:20:53

标签: python-3.x jupyter

我是python和Jupyter Notebook的新手

我正在编写的代码的目的是要求用户引入10个不同的整数。该程序应该返回用户先前引入的最高奇数。

我的代码如下:

  i=1
  c=1
  y=1

  while i<=10:
  c=int(input('Enter an integer number: '))

    if c%2==0:
        print('The number is even')
    elif c> y
        y=c
        print('y')

    i=i+1 

我的循环一次又一次地运行,但我没有解决方案。 我猜代码写得很好。这一定是我看不到的细微之处。 任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:1)

您有elif c > y,您只需要在此处添加一个冒号即可,即为elif c > y:

答案 1 :(得分:0)

是的。

  i=1
  c=1
  y=1

  while i<=10:
    c=int(input('Enter an integer number: ')) # This line was off 

    if c%2==0:
        print('The number is even')
    elif c> y: # Need also ':' 
        y=c
        print('y')

    i=i+1 

答案 2 :(得分:0)

您可以像这样以一种非常紧凑的方式解决这个问题。

首先在一行中要求输入10个数字,并用空格隔开。然后将字符串用,拆分为一个数字列表,如果未提供10个数字,则退出代码。

numbers_str = input("Input 10 integers separated by a comma(,) >>> ")
numbers = [int(number.strip()) for number in numbers_str.split(',')]
if len(numbers) != 10:
    print("You didn't enter 10 numbers! try again")
    exit()

上面的代码运行不正确

Input 10 integers separated by a comma(,) >>> 1,2,3,4
You didn't enter 10 numbers! try again

假设提供了10个整数,则循环遍历元素,仅考虑奇数并在更新时更新最高奇数。

largest = None
for number in numbers:
    if number % 2 != 0 and (not largest or number > largest):
        largest = number

最后,检查最大数字是否为None,这意味着我们没有任何奇数,因此请向用户提供信息,否则显示最大奇数

if largest is None:
    print("You didn't enter any odd numbers")
else:
    print("Your largest odd number was:", largest)

可能的输出是

Input 10 integers separated by a comma(,) >>> 1,2,3,4,5,6,7,8,9,10
Your largest odd number was: 9
Input 10 integers separated by a comma(,) >>> 2,4,6,8,2,4,6,8,2,4
You didn't enter any odd numbers