Python教程——使用input函数实现用户交互

TangLu 未命名 2023-05-27 21060 0

在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)


pythonjiaohu1.jpg


通过input函数传递的数据类型都为字符串,可以使用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类型。如图

pythonjiaohu2.png

pythonjiaohu3.png

所以如果我们指定了其他类型的数据,一定要强制进行一次转换,如

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)




评论