繁体   English   中英

Python:如何确保列表中的数字为0

[英]Python: How to make sure a number in the list is 0

好的,这是我的代码的一部分

user_inputs = input('Input A B C >')
user_inputs_list = user_inputs.split()
print(user_inputs_list)   #


print(user_inputs_list[:1])   #
if user_inputs_list[:1] == '0':
    print('error')

我试图确保第一个数字不为零,但是此代码不会显示错误。 如果数字为0 1 2,则user_inputs_list [:1]应该为0,对吗? 不会打印错误?

您正在使用slice语法,该语法返回前n元素的列表(在您的情况下为n=1 )。 如果要检查第一个元素是否为零,则应将元素数量(从零开始)放在方括号中:

In [1]: user_input = '0 1 2'.split()

In [2]: user_input
Out[2]: ['0', '1', '2']

In [3]: user_input[:1]
Out[3]: ['0']

In [4]: user_input[0]
Out[4]: '0'

In [5]: user_input[0] == '0'
Out[5]: True
user_inputs = input('Input A B C >')
if user_inputs.startswith("0"):
    print ("error")

您可以使用startswith()更加简单明了。

>>> 
Input A B C >26
>>> 
>>> 
Input A B C >026
error
>>>

你需要检查一下

if user_inputs_list[1] == '0':

不带 :您以1为准。

冒号使您编写了切片 -包含最多1个项目的列表(因此,一个包含单个项目的列表,第0个)。

没有冒号,您将拥有一个索引 ,该索引在那个位置得到一个项目-一个字符串,您可以与另一个字符串进行明智的比较,而不是与一个字符串列表进行比较,因此进行比较是没有意义的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM