如何在Python中找到整数列表中的最小值和最大值,而无需使用控制台中的内置函数

时间:2015-07-16 11:08:44

标签: python io minmax

在以下代码中,我无法接受来自控制台的输入列表值。

    s=[]
for i in range(10):
    s[i]=int(input('enter integers from 1 to 10\n'))


mini=11
for temp in s:
    if mini>temp:
            mini=temp
print('minimum : '+str(mini))

maxi=0
for temp in s :
    if maxi<temp:
        maxi=temp
print('maximum :'+str(maxi))

IndexError:列出参数索引超出范围。

无法找到指数超出范围的位置。请提前帮助,谢谢。

2 个答案:

答案 0 :(得分:3)

你应该是appending,你不能为空列表编制索引,因此s[i]会立即失败s[0],因为列表为空:

s = []
for i in range(10):
   s.append(int(input('enter integers from 1 to 10\n')))

mini,maxi = 0, 11
for temp in s:
    if temp < mini:
        mini = temp
    if temp > maxi:
        maxi = temp
print('minimum : '+str(mini))
print('maximum :'+str(maxi))

您也可以在上面的单个循环中检查这两个,而不是在s上进行两次迭代。

您还可以使用列表编辑来创建数字列表:

s = [int(input('enter integers from 1 to 10\n')) for _ in range(10)]

答案 1 :(得分:1)

你应该附加到列表中。

s=[]
for i in range(10):
    s.append(int(input('enter integers from 1 to 10\n')))


mini=11
for temp in s:
    if mini>temp:
        mini=temp
print('minimum : '+str(mini))

maxi=0
for temp in s :
    if maxi<temp:
        maxi=temp
print('maximum :'+str(maxi))