2、与用户交互
程序与用户交互可想而知是必要的,否则程序存在的意义也就大大降低了,接下来介绍程序与用户的交互,输入与输出
2.1接收用户输入
在python3中只有 input一种输入方式,input会将用户输入的所有内容存入一个字符串类型数据中
username = input("请输入您的账号:") # ""内添加的是显示给用户看的信息 print(username, type(username)) # 通过实验可以观察输出的变量的数据类型
在python2.7中(了解)有input以及raw_input两种方式,其中raw_input与python3中的input功能完全相同,不多赘述,而python2.7中的input会按用户输入的内容的类型存入变量,变量类型即为输入的类型,这样的方式会使得程序员的操作变简单,而用户的操作变得复杂,要求用户严格按照数据类型的格式输入,产生极差的使用体验.
2.2格式化输出
在python中有3种格式化输出的方法.
第一种: %s %d 此方法自python诞生至今一直能使用
print("my name is %s,my age is %s" %("wu","18")) # %s可以按位置输入变量 print("my name is %(name)s,my age is %(age)s" %{"name":"wu","age":18}) # 以字典形式传入数据,可以避免位置,顺序的限制 print("my age is %s" %([18,19])) # %s能传入任意数据类型 print("my age is %d" %("18")) # %d只能传入数字,传入字符串会报错 print("my age is %d" %(18.6)) # %d只能传入数字(输入小数只显示整数),结果为my age is 18
第二种: str.format 此方法python2.6之后的版本能使用(包含python3)
此方法为最推荐使用的方法,由于速度以及兼容性都不错
# 按照位置传值 print("my name is {},my age is {}".format("wu", 18)) # 可以按索引输出多次 print("my name is {0}{0}{0},my age is {1}{1}".format("wu", 18)) # 按照key-value传值 print("my name is {name},my age is {age}".format(name="wu", age=18))
进阶教程:
""" # 填充与格式化 # 先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度] # *<10:左对齐,总共10个字符,不够的用*号填充 print('{0:*<10}'.format('开始执行')) # 开始执行****** # *>10:右对齐,总共10个字符,不够的用*号填充 print('{0:*>10}'.format('开始执行')) # ******开始执行 # *^10:居中显示,总共10个字符,不够的用*号填充 print('{0:*^10}'.format('开始执行')) # ***开始执行*** # 精度与进制 print('{salary:.3f}'.format(salary=1232132.12351)) #精确到小数点后3位,四舍五入,结果为:1232132.124 print('{0:b}'.format(123)) # 转成二进制,结果为:1111011 print('{0:o}'.format(9)) # 转成八进制,结果为:11 print('{0:x}'.format(15)) # 转成十六进制,结果为:f print('{0:,}'.format(99812939393931)) # 千分位格式化,结果为:99,812,939,393,931 """
第三种: f"string" 此方法python3.5之后的版本能使用(不包含python2)
x = "wu" print(f"my name is {x}")
来源:https://www.cnblogs.com/achai222/p/12421790.html