我想在Python中使用raw_input()
函数。
我想从用户那里收到一个关于存储大小的数字
我写下来了:
number=raw_input()
如果用户没有提供输入,那么number = 10
if number is None:
number = 10
当我打印号码时,我甚至没有尝试过任何事情:
if number==-1:
number=10
print"the storage size was set to:",number
输出结果为:
> 存储大小设置为-1
而不是10
那我该如何解决呢?
答案 0 :(得分:1)
首先,您必须使用int()
函数将输入(raw_input的默认值为字符串)转换为int。但请务必先检查用户是否输入了某些内容。否则您无法转换空字符串。例如:
num_input = raw_input()
if num_input:
number = int(num_input)
然后问题的第二部分应该有效:
if number == -1:
number = 10
print "the storage size was set to:", number
第二点是空string
不等于None
。 None
是NoneType
的唯一值,""
是string
。
所以你可以将输入与空字符串进行比较,但是你可以做得更好(空字符串被评估为False
):
if not num_input:
number = 10
为了更高效,您只需在我的第一段代码中添加else
语句:
num_input = raw_input()
if num_input:
number = int(num_input)
else:
number = 10
答案 1 :(得分:0)
将数字与空字符串进行比较;不是None
。
if number == '':
number = 10
答案 2 :(得分:0)
在Python中,当变量为空时,它内部空'' , 因此,如果您想检查您的变量是否未设置,则需要将其与'' 进行比较,而不是无。
if number=='':
number=10
答案 3 :(得分:0)
你应该只比较数字和空。:
if number=="":
number==10