如何在没有输入的情况下使用raw_input

时间:2017-05-06 13:56:39

标签: python python-2.7 input raw-input

我想在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

那我该如何解决呢?

4 个答案:

答案 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不等于NoneNoneNoneType的唯一值,""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