python基础02——raw_input()和input()的区别

 python2x中:raw_input()和input()虽然都是从控制台读入数据,是2个不同的功能:

raw_input():默认所有输入默认都是字符串格式;如果是想输入数字,用input()

 

1 name=raw_input("请输入姓名:")
2 age=raw_input("请输入年龄:")
3 
4 print("姓名是%s"%(name))
5 print("年龄是%d"%(age))
View Code

 

 可以看到age在格式化输出的时候报错了,

请输入姓名:jim
请输入年龄:12
Traceback (most recent call last):
  File "XXXXX/xiti07.py", line 14, in <module>
    print("年龄是%d"%(age))
TypeError: %d format: a number is required, not str
姓名是jim

格式化输出是,提示%d需要一个数字,而不是str。通过print (type(name),type(age)) 来看一下。执行的输出是:

请输入姓名:jim
请输入年龄:13
(<type 'str'>, <type 'str'>)

如果想不报错:python2中,想输入一个数字的话,用input();或者在格式化输出或者其他运算的时候,先进行格式转换

1 name=raw_input("请输入姓名:")
2 age=input("请输入年龄:")
3 print (type(name),type(age))
4 print ("姓名是%s"%name)
5 print ("姓名是%d"%age)
1 name=raw_input("请输入姓名:")
2 age=raw_input("请输入年龄:")
3 print (type(name),type(age))
4 print ("姓名是%s"%name)
5 print ("姓名是%d"%int(age))

在python3x中:没有raw_input(),input()接收的所有输入默认都是字符串格式。要想程序不出错,可以把str转成int。

 

 

 

 

posted @ 2018-04-03 15:20  一秒一看  阅读(153)  评论(0编辑  收藏  举报