我正在尝试打印最大的奇数。到目前为止,我有以下代码。
largest = None
for integer in range(1,11):
integer = int(input('Enter integer #%d: ' % integer))
if integer % 2 != 0 and (not largest or integer > largest):
largest = integer
if largest is None:
print ("You didn't enter any odd numbers")
else:
print ("Your largest odd number was: "), max(largest)
我可以输入10个整数,但我得到的只是Your largest odd number was:
而不是最大的数字而且只是空白。我试图使用(max)打印最大的整数,但不是很成功。
答案 0 :(得分:0)
这是你想要的吗?
largest = None
for integer in range(1,11):
integer = int(input('Enter integer #%d: ' % integer))
if integer % 2 != 0 and (not largest or integer > largest):
largest = integer
if largest is None:
print ("You didn't enter any odd numbers")
else:
print ("Your largest odd number was: "), largest
您已将最大值分配给最大值,因此您不必执行max()。函数max()给出了列表的最大值,largest
是一个不是列表的整数。
答案 1 :(得分:0)
有几点需要注意。
range1
而不是range
。 [这已在用户的编辑中修复] max
。这不是应该如何使用max。检查是否有效
largest = None
for integer in range(1,11):
integer = int(input('Enter integer #%d: ' % integer))
if integer % 2 != 0 and (not largest or integer > largest):
largest = integer
if largest is None:
print ("You didn't enter any odd numbers")
else:
print ("Your largest odd number was: "), str(largest)
分享我的输出
bash$ python test_2.py
Enter integer #1: 2
Enter integer #2: 4
Enter integer #3: 6
Enter integer #4: 8
Enter integer #5: 2
Enter integer #6: 4
Enter integer #7: 6
Enter integer #8: 8
Enter integer #9: 3
Enter integer #10: 9
Your largest odd number was: 9
答案 2 :(得分:0)
如果你想使用max
,你可以通过只保留列表中的奇数来做这样的事情。
odd_numbers = []
for integer in range(1, 11):
integer = int(input('Enter integer #%d: ' % integer))
if integer % 2 != 0:
odd_numbers.append(integer)
if not odd_numbers:
print("You didn't enter any odd numbers")
else:
print("Your largest odd number was: {}".format(max(odd_numbers)))
答案 3 :(得分:0)
您的代码可以更改为:
a =范围(1,11)
j = len(a) - 2
while j > 0:
if a[j] % 2 == 1:
break
else:
j += 1
print(a[j])
这将使您的程序在从最大数字到最小数字的范围内迭代。其他一切看起来都不错。继续前进:)