对python中raw_input()和input()的用法详解

时间:2021-05-22

最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下:

1、raw_input()

raw_input([prompt]) -> string

系统介绍中是:读取标准输入的字符串。因此,无论输入的是数字或者字符或者其他,均被视为字符格式。

如:

print "Please input a num:"k = raw_input()print kprint type(k)

运行结果为:

Please input a num:2323<type 'str'>

输入数字:23,输出:23,类型为str;

因此,在不同的场景下就要求输入的内容进行转换。

1)转为int型

print "Please input a num:"n = int(raw_input())print nprint type(n)

运行结果为:

Please input a num:2323<type 'int'>

输入:23,输出:23,类型为int;

2)转为list型

print "please input list s:"s = list(raw_input())print sprint type(s)

运行结果为:

please input list s:23['2', '3']<type 'list'>

输入:23,输出:[ '2','3' ],类型为list;

如何直接生成数值型的list尚未解决,算个思考题吧。

2、input()

input([prompt]) -> valueEquivalent to eval(raw_input(prompt))

可以看出,input()的输出结果是“值”,相当于是对raw_input()进行一个计算后的结果。

如:

print "please input something :"m = input()print mprint type(m)

运行结果1为:

please input something :2323<type 'int'>

输入:23,输出:23,类型为int;

运行结果2为:

please input something :abcTraceback (most recent call last): File "D:/python test/ceshi1.py", line 24, in <module> m = str(input()) File "<string>", line 1, in <module>NameError: name 'abc' is not defined

输入:abc,输出报错(字符型的输入不通过);

但也可以把input()的结果进行转换:

1)转为str

print "please input something :"m = str(input())print mprint type(m)

运行结果为:

please input something :2323<type 'str'>

输入为数值型的23,输出:23,类型为str;

2)转为int

print "please input something :"m = int(input())print mprint ty

运行结果为:

please input something :23.523<type 'int'>

输入:23.5,输出:23,类型为int(默认为向下取整);

注:input()不可使用list转为列表。

以上这篇对python中raw_input()和input()的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章