如何编写要求输入 10 个数字的代码

Posted

技术标签:

【中文标题】如何编写要求输入 10 个数字的代码【英文标题】:How to write a code that asks for 10 numbers 【发布时间】:2021-01-19 02:28:30 【问题描述】:

大家好,我正在尝试编写一个代码,要求用户输入 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

但是,我不断收到 " if n % 2 == 1: 类型错误:% 的不支持的操作数类型:'list' 和 'int'" 谁能帮我解决这个问题?

【问题讨论】:

n 是一个列表,你不能将一个列表除以 2 max( (num for num in n if n%2==1) )? 最大奇数还是最大奇数?可能你的意图是做largestodd % 2i 的目的是什么?还有更多改进的空间。 在列表中查找最大数的一种简单方法是在 python 中使用 .max()。 print(.max(n)) 将在列表中找到最大的数字。 【参考方案1】:

问题

你在这里写的代码有很多问题:

    由于您正在使用for 循环遍历列表,因此无需事先定义将用于遍历它的变量。这在while 循环中通常是必需的

例如:

l = [1, 2, 3]
for i in l:
    print(i)

输出:

1
2
3

如果您想使用 while 循环执行此操作,代码将类似于:

l = [1, 2, 3]
i = 0
while i < len(l):
    print(l[i])
    i += 1

很明显,for 循环使用起来更加方便和优雅。

    您说您希望您的代码打印出最大的整数,但您编写的代码似乎是检查列表中的数字是否为奇数 此外,largest 未定义 还有其他错误,说明你对python的掌握有些薄弱。建议大家先上网查一些教程,先学基础,比如here。

修正代码

l = [int(input('Enter a number: ')) for i in range(10)]
print(max(l))

Python 有一个内置方法 max() 可以在不需要 for 循环的情况下实现此目的。

另一种方法是使用.sort()方法对列表进行排序,然后打印出列表的最后一位:

l = [int(input('Enter a number: ')) for i in range(10)]
l.sort()
print(l[-1])

逆序排列:

l = [int(input('Enter a number: ')) for i in range(10)]
l.sort(reverse=True)
print(l[0])

如果您想使用逻辑来执行此操作,您可以通过对列表进行排序然后打印出列表的最后一位(这将是最大的)来做到这一点,如下所示:

l = [int(input('Enter a number: ')) for i in range(10)]
for i in range(len(l) - 1):
    for j in range(len(l) - i - 1):
        if l[j] > l[j + 1]:
            l[j], l[j + 1] = l[j + 1], l[j]
print(l[-1])

上面的代码使用冒泡排序对列表进行排序。还有其他方法可以对列表进行排序,但这是最容易理解的。你可以在网上了解更多,比如here。

【讨论】:

嗨!非常感谢你的回答,真的很有帮助。如果我想从列表中找出最大的奇数,我该怎么做? 您可以按降序对列表进行排序,遍历它,并检查每个元素是偶数还是奇数。第一个奇数元素将是列表中最大的奇数。 虽然我强烈建议您自己尝试,但如果您遇到问题,我可以为您提供代码。【参考方案2】:

你的代码在说

largestodd = None

for None in n:

你可以用这个做你想做的事

n = [int(input('Enter a number: ')) for i in range(10)]`

print(max(n))

【讨论】:

以上是关于如何编写要求输入 10 个数字的代码的主要内容,如果未能解决你的问题,请参考以下文章

如何查看一个数字输入了多少次

如何用C语言编写一个程序,输入10个0-9之间的整数,请统计每个数字出现的个数,并输出?

编写程序:输入一个4位的整数,然后分别输出组成改4位数的各位数字。

输入四个字符后如何编写UItextfield长度和更改键盘数字格式的条件

c编程任意输入一个整数,要求计算并输出此整数的各位数字之和。如:231的各位之和是2+3+1。

用c#编写猜数游戏要求用户在文本框中输入1到10之间的一个数字。然后单击[猜猜]按钮产生一个随机数字,用户