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