python - 如果之前的数字是正数或负数,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")
解决方案
如果我正确理解了问题陈述,您需要比较索引处的列表元素,但要比较索引。因此,条件if
应更改为:
if(int(neg) < zero and zero > int(pos)):
像这样的东西(请注意,python 中不需要大括号if
):
if list[neg] > list[zero] > list[pos]:
推荐阅读
- android - FLP中的位移和间隔
- python - 如何读取 FASTA 文件并将序列插入到另一个调用类的函数中?
- pointers - 如何将接口转换为结构
- javafx - 单击 CheckMenuItem (JavaFX) 时如何防止 MenuButton 关闭
- javascript - Instagram 嵌入代码未在我的反应应用程序上显示图像
- javascript - Ajax Post 仅在浏览器中调试时工作
- python - np.array() 在给定多维数组时创建列表对象数组,但应创建“正常”数组
- python - 如何为动态值传递编写 Xpath
- angular - 角度 wordpress 日期格式
- mysql - 替换sql中的前两个字符串