在shell编程中,如果要将用户输入的信息赋值给一个变量以实现交互的效果,使用的是read命令,如
read -p "what's your name:" name echo $name
在python3中,使用的是input函数(2.x是raw_input),input后面括号里的内容和shell中的read -p一样,是一个提示说明性的信息,如
username=input('请输入你的名字:') age=input('请输入你的年龄:') print ('你好!',username,'你今年',age)
通过input函数默认接受到的数据类型是str,可以使用int()函数或者float()函数进行数据转换,如下
num1 = int(input("请输入第一个数字")) num2 = int(input("请输入第二个数字")) print (num1 + num2)
来看一个使用变量实现格式化输出的例子,这里和shell不同,如果要在文本中引用变量,是先用%s来进行占位(s代表的是string),然后再通过%()来指定具体的变量名:
name = input("name:") age = input("age:") job = input("job:") info = ''' -----info of %s----- Name:%s Age:%s Job:%s ''' %(name,name,age,job) print (info)
上面说到%s是代表string,说明这是个字符串类型,同样也有%d代表数字、%f代表浮点,这样的作用是可以检测验证数据类型,不符合的话会报错。需要注意的是通过input接收到的数据都会将被当做字符串类型,就算我们写了%d,但是通过type()函数来查看依然是string类型。如图
所以如果我们指定了其他类型的数据,一定要强制进行一次转换,如
age = int(input("age:"))
另一种格式化方式(推荐):
name = input("name:") age = input("age:") job = input("job:") info = ''' -----info of {_name}----- Name:{_name} Age:{_age} Job:{_job} ''' .format(_name=name, _age=age, _job=job) print (info)
发表评论: