2015-08-30 28 views
-4

在Python中,什么是可用于读取列表中最大数字的方法?我的尝试如下:Python:我如何编写一个读取10个不同整数并打印出具有最大值的程序?

list = [a, b, c, d, e, f, g, h, i, j] 
print max(list) 

编辑(解决方案):使用for循环。

userInput = [] 
for i in range(10): 
    userInput.append(int(input("Enter a number"))) 
print(max(userInput)) 
+3

您在这里犯了几个错误。我建议看看[官方Python教程](https://docs.python.org/3.4/tutorial/index.html)。 – TigerhawkT3

回答

1

如果您想重复执行某些操作,可以使用循环。你想要一个空的列表,然后从用户那里得到一个号码10次,这样你就可以把用户的一个号码的所有请求都放在一个循环中。 input为您提供了一个字符串,因此您需要将其转换为int

user_inputs = [] 

for i in range(10): 
    user_inputs.append(int(input("Enter a number"))) 

print(max(user_inputs)) 

如果你不了解循环,你应该了解它们。

+3

'list'对于变量名来说是一个糟糕的选择。 –

+2

这个问题被标记为[tag:python-3.x],所以'raw_input'将不起作用。 –

0

我觉得跟JHobern一起,你也许可以做这样的事情

print(max([int(raw_input("Enter a number: ")) for x in range(10)]))

应该这样做!为了解释,你知道打印和max应该做什么。 raw_input询问用户输入并存储它。 max()返回事物列表中的最大值。 [对于范围内的x(10)]是一个列表理解,它做了10次。在这种情况下,不一定使用变量x。 所以基本上,我使用列表解析创造前提条件是10个整数列表y中的用户,然后打印出最大所有在同一行:)

+1

'raw_input()'在Python 3中没有使用。 – TigerhawkT3

+0

@ TigerhawkT3啊! woops。对于那个很抱歉。只需输入()然后 –

0

可以使用while loop来实现这一目标: 这代码会提示用户10次输入数字。每次该号码将被追加到列表nums。此外,每次打印nums中的最高号码。

nums = [] 
while len(nums) < 10: 
    nums.append(int(input('Enter a number: '))) 
    print (max(nums)) 

如果你只是想在最后打印的最高数字,一周时间,10号后输入,那么你可以这样做:

nums = [] 
while len(nums) < 10: 
    nums.append(int(input('Enter a value: '))) 
print (max(nums)) 

你不应该使用list作为变量因为listbuilt in function

+1

这将打印最大值9次。 –

+0

@BurhanKhalid它会打印10次 –

+1

更糟的是,它应该打印一次。 –

相关问题