首页 > 编程语言 > 详细

Python:input(用户交互)

时间:2021-02-16 18:24:52      阅读:25      评论:0      收藏:0      [点我收藏+]

shell中用户交互使用read -p,在python3中用户交互使用input

 

python2.x中用户交互使用raw_input,python2中也有input但是属于毫无用处的一种写法,可以直接忽略掉,于是python3中舍弃了这种写法改为直接使用input

 

 

以下为input的基本使用方法:

name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
job = input("请输入您的职业:")
salary = input("请输入您的工资:")

print(name :+name,\n,age :+age,\n,job :+job,\n,salary :+salary)        ###\n为换行符

执行结果为:

请输入您的姓名:lizi
请输入您的年龄:26
请输入您的职业:it
请输入您的工资:7000
name :lizi 
 age :26 
 job :it 
 salary :7000

 

下面是几种格式化输出的方式:

  第一种(+号拼接):

      

name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
job = input("请输入您的职业:")
salary = input("请输入您的工资:")

info = ‘‘‘                                                ###info = ‘‘‘                          ‘‘‘ 此为打印多行的写法
-------info of ‘‘‘ +name +‘‘‘--------
name : ‘‘‘ +name+‘‘‘
age : ‘‘‘+age+‘‘‘
job : ‘‘‘+job+‘‘‘
salary : ‘‘‘+salary+‘‘‘
‘‘‘
print(info)

执行结果为:

请输入您的职业:it
请输入您的工资:7000

-------info of lizi--------
name : lizi
age : 26
job : it
salary : 7000

此种方法太过于麻烦,并且所占内存极多,不推荐

  第二种(%s,d,f):

name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
job = input("请输入您的职业:")
salary = input("请输入您的工资:")

info = ‘‘‘
-------info of %s--------
name :%s
age : %s
job : %s
salary : %s
‘‘‘%(name,name,age,job,salary)

执行结果为:

请输入您的职业:it
请输入您的工资:9000

-------info of lizi--------
name :lizi
age : 26
job : it
salary : 9000

此种方法中%s代表的是string类型,%d代表整数,%f代表浮点数

如果把info中age:%s换成%d,则代表此age必须为数字,此时如果定义age变量那里不进行数据类型转换,那么执行就会报错

info = ‘‘‘
-------info of %s--------
name :%s
age : %d
job : %s
salary : %s
‘‘‘%(name,name,age,job,salary)

print(info)


---------------------------------

请输入您的姓名:lizi
请输入您的年龄:26
请输入您的职业:it
请输入您的工资:9000
Traceback (most recent call last):
File "D:\PyCharm\lizi\basis\20200216\input.py", line 11, in <module>
info = ‘‘‘
TypeError: %d format: a number is required, not str

 

此时需进行数据类型转换:

name = input("请输入您的姓名:")
age = int(input("请输入您的年龄:"))       ###将age变量转为int类型
job = input("请输入您的职业:")
salary = input("请输入您的工资:")

info = ‘‘‘
-------info of %s--------
name :%s
age : %d
job : %s
salary : %s
‘‘‘%(name,name,age,job,salary)
print(info)

---------------------------------------

请输入您的姓名:lizi                     ###再次执行无报错
请输入您的年龄:26
请输入您的职业:it
请输入您的工资:

-------info of lizi--------
name :lizi
age : 26
job : it
salary :

%f使用的相对较少所以不需过多了解,此为格式化输出的第二种方式,比较常用

  第三种(.format):

name = input("请输入您的姓名:")
age = int(input("请输入您的年龄:"))
job = input("请输入您的职业:")
salary = input("请输入您的工资:")

info = ‘‘‘
-------info of {_name}--------
name :{_name}
age : {_age}
job : {_job}
salary : {_salary}
‘‘‘.format(_name=name,_age=age,_job=job,_salary=salary)
print(info)

执行结果为:

请输入您的职业:it
请输入您的工资:777

------- info of lizi --------
name :lizi
age : 26
job : it
salary : 777

此format方法在某些特定场合下有必要作用

  第四种(.format的第二种写法):

name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
job = input("请输入您的职业:")
salary = input("请输入您的工资:")

info3 = ‘‘‘
------- info of {0} --------
name :{0}
age : {1}
job : {2}
salary : {3}
‘‘‘.format(name,age,job,salary)
print(info3)

执行结果为:

请输入您的职业:it
请输入您的工资:999

------- info of lizi --------
name :lizi
age : 26
job : it
salary : 999

此为.format的第二种写法,.format只有这两种写法

 

Python:input(用户交互)

原文:https://www.cnblogs.com/liziaoligei/p/14406796.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!