首页 > 解决方案 > 如果之前的数字是正数或负数,Python 如果分析数字有问题?

问题描述

所以我的目标是制作扫描数字的程序,如果零之前的数字是负数,零之后的数字是正数,它会打印“零是正数”,如果相反“零是负数”。问题是,每次我输入数字时,它总是只打印“零为负”,因为现在程序应该只使用 1 个零和 2 个数字,但我稍后会花费。这是我的代码:

number = input("Enter Numbers: ")
lists = []
lists = number.split()
print(lists)
z = 0
y = 0
x = 0
indexes = [index for index, element in enumerate(lists) if element == "0"]
print(indexes)

pos = indexes[0] - 1
neg = indexes[0] + 1
zero = indexes[0]

if(int(neg) < zero and zero > int(pos)):
   print("Zero is postive")
else:
   print("Zero is negative")

标签: pythonif-statement

解决方案


如果我正确理解了问题陈述,您需要比较索引处的列表元素,但要比较索引。因此,条件if应更改为:

if(int(neg) < zero and zero > int(pos)):

像这样的东西(请注意,python 中不需要大括号if):

if list[neg] > list[zero] > list[pos]:

推荐阅读