我使用input("Enter data")
的代码可以工作,但是一旦我将其更改为sys.argv
,就不行了。有什么建议吗?在
这是程序代码:
import sys
try:
listOfNumbers = list(sys.argv[1])
listOfEvenNumbers = []
listOfOddNumbers = []
for x in listOfNumbers:
if x % 2 == 0:
listOfEvenNumbers.append(x)
elif x % 2 != 0:
listOfOddNumbers.append(x)
countOfEvenNumbers = len(listOfEvenNumbers)
countOfOddNumbers = len(listOfOddNumbers)
sumOfEvenNumbers = sum(listOfEvenNumbers)
sumOfOddNumbers = sum(listOfOddNumbers)
highestNumber = max(listOfNumbers)
lowestNumber = min(listOfNumbers)
differenceBetweenNumbers = highestNumber - lowestNumber
sumOfCenteredNumbers = sum(listOfNumbers) - highestNumber - lowestNumber
countOfCenteredNumbers = len(listOfNumbers) - 2
centeredAverage = sumOfCenteredNumbers/countOfCenteredNumbers
print("The sum of all even numbers is %i, the sum of all odd numbers is %i,the difference between the biggest and smallest number is %i, the total number of even numbers is %i, the total number of odd numbers is %i,the centered average is %i.")% (sumOfEvenNumbers, sumOfOddNumbers, differenceBetweenNumbers, countOfEvenNumbers, countOfOddNumbers, centeredAverage)
except:
print("Your input is invalid!")
这是命令提示符中使用的行:
^{pr2}$结果如下:
Your input is invalid!
输入无效,因为列表中也包含逗号(',')。 要删除它们,可以使用以下行:
这是工作代码-
我改变了几件事-
给出从索引1到结尾的所有元素
在系统argv返回一个字符串元素的数组,而不是整数,我在这里使用list comprehension从字符串列表构建一个整数列表。在
运行程序->
^{pr2}$我这样做是为了让它发挥作用:
相关问题 更多 >
编程相关推荐