[英]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.