我刚刚编写了这段代码,并想知道是否有任何方法可以优化打印输出。我试图使用.format()来包含总数和'偶数'或'奇数'。如果我只是在调用之前将函数的返回值分配给变量,那么我能够限制为一个print语句吗?
这个代码基本上你输入了一个二维数组,它将返回总值。
def evenrow(TwoDArray):
counter = 0
counterTwo = 0
lengthArray = len(TwoDArray)
lengthList = len(TwoDArray[0])
while counter < lengthArray:
while counterTwo < lengthList:
value = TwoDArray[counter][counterTwo]
value += value
counterTwo += 1
counter += 1
return value
TwoDArray = eval(input("Enter a 2D array: "))
print('Total Value: ', evenrow(TwoDArray))
if evenrow(TwoDArray) % 2 == 0:
print('Even or Odd: Even')
else:
print('Even or Odd: Odd')
输出示例:
Enter a 2D array: [[0,2],[1,1]]
Total Value: 4
Even or Odd: Even
谢谢!
答案 0 :(得分:0)
欢迎使用StackOverflow!我希望你在这里过得愉快。
至于你的问题 - 很容易就像馅饼一样:
ret = evenrow(TwoDArray)
if ret % 2 == 0:
print('Total Value: %d\nEven or Odd: Even' % ret)
else:
print('Total Value: %d\nEven or Odd: Odd' % ret)
我甚至可以做得更好,并使用Python等效的三元运算符将其降低到一行:
ret = evenrow(TwoDArray)
print('Total Value: %d\nEven or Odd: %s' % (ret, 'Odd' if ret % 2 else 'Even'))
您还是想要保存返回值。想象一下,如果evenrow()
是一个计算成本高昂的操作 - 你肯定不想再运行它两次。