错误(stderr)回溯(最近的呼叫最后一次)任何人都可以告诉我为什么我会这样做?

时间:2016-09-28 02:23:44

标签: python-2.7

#!/bin/python

import sys


n = int(raw_input().strip())
myStick = [int(x) for x in raw_input().split()]
lilStick=0
count=-100
myStick=sorted(myStick)
       while count <= len(myStick):
       myStick = [x for x in myStick if x != lilStick]
       lilStick= min(myStick)
       myStick=sorted(myStick)
       print len(myStick)

错误(stderr) 回溯(最近一次调用最后一次):文件&#34; solution.py&#34;,第13行,在lilStick = min(myStick)中ValueError:min()arg是一个空序列 谁能告诉我为什么我会这样做?

1 个答案:

答案 0 :(得分:0)

由于lilStick= min(myStick),你使用min函数从空列表中获取最小值,这是不可能的。

所以你可以在此之前循环以更好地处理代码。

import sys
n = int(input().strip())
myStick = [int(x) for x in input().split()]
lilStick=0
count=-100
myStick=sorted(myStick)
while True:
       myStick = [x for x in myStick if x != lilStick]
       print ("Min",myStick)
       if len(myStick) >0:
           lilStick= min(myStick)
           myStick=sorted(myStick)
           print (len(myStick))
       else:
           break

阅读有关Operators和python循环的更多信息。

注意:将raw_input更改为输入,print语句的括号因为我检查了version 3.5.1中的代码。希望您可以对version 2.7进行更改。