大家好,我正在尝试编写一个代码,要求用户输入10个整数,并打印其中最大的一个。这就是我到目前为止所做的:
n = [int(input('Enter a number: ')) for i in range(10)]
largestodd = None
i = 0
for largestodd in n:
if n % 2 == 1:
if largestodd == None or n > largest:
largestodd = n
i = i + 1
但是,我不断得到“如果n%2==1: TypeError:不支持%:“list”和“int”的操作数类型 有人能帮我解决这个问题吗
你的密码是
你可以用这个做你想做的
问题
您在这里编写的代码有许多问题:
for
循环遍历列表,因此无需预先定义用于遍历列表的变量。这在while
循环中通常是必需的例:
输出:
如果要使用while循环执行此操作,则代码如下所示:
显而易见,for循环使用起来更方便、更优雅
largest
没有定义修正码
Python有一个内置的方法
max()
,可以在不需要for
循环的情况下实现这一点另一种方法是使用
.sort()
方法对列表进行排序,然后打印出列表的最后一位:要按相反顺序排序,请执行以下操作:
但是,如果您想使用逻辑实现这一点,您可以通过对列表进行排序,然后打印出列表的最后一位(最大的),如下所示:
上面的代码使用冒泡排序对列表进行排序。还有其他方法可以对列表进行排序,但这是最容易理解的。你可以在互联网上了解更多信息,比如here
相关问题 更多 >
编程相关推荐