用户交互之输入输出

与用户交互

最基础的和用户交互的两条语句。

输入:input(),输出:print()

input输入

data = input('请输入>>>:')
# 赋值符号右边,input代表等待用户输入,再进行后续程序的操作,小括号内部为给用户的提示信息。
# 赋值符号代表可以将用户的输入作为数据值赋值给data变量

input的语法和用法并不复杂,但是用户输入的是什么数据类型的数据呢?

分别尝试输入 1,1.1,aa,[1,2]
data = input('请输入>>>:')
print(type(data))
# 会发现所有的数据类型都是str字符串类型。
进阶:python2与python3的input关键字区别

在python2中,同样做像上面的操作

分别尝试输入 1,1.1,aa,[1,2]
data = input('请输入>>>:')
print(type(data))
# int
# float
# 报错
# list
"""
发现,python2的逻辑是要求用户输入相应数据类型的形式,并存储为相应的类型。
甚至在输入不带引号的aa时,会报错,因为字符串应该是带引号的。
这十分不符合方便用户的操作逻辑。
而python2中也有与python3的input功能一样的关键字
"""
data2 = raw_input('请输入')
print(type(data2))
# 这时再尝试输入各种形式的内容,都会显示为字符串的格式

print输出

print输出已经陪我们打印过hello world了,想必都已经很熟悉了。

这里再介绍一些其他的用法。

  1. 括号内可以放多个变量或者数据值,用逗号隔开

    a = 'aa'
    b = 'bb'
    print(1, a, b)  # 1 aa bb
    
  2. 当用print打印字符串时会自动换行,可以通过end=取消换行

    print('我是', end='')
    print('谁谁谁')
    # 我是谁谁谁
    

    ps:按住Ctrl键点击关键字查看源码,用此方法查看print源码,可以看到有一个参数end其默认值为 \n 所以print关键字默认换行

格式化输出

print输出函数可以帮助我们打印,而字符串不能每次都经由我们手打,如奖状、祝词,很多文件都存在大量的内容重复,只需要替换某些位置的词就可以了。

占位符

%s%d,将这两个符号放到字符串的某个位置,可以利用语法对其进行替换。

msg = '没有人比%s更懂python'
print(msg % '我')
# 没有人比我更懂python

可以看到只要在字符串或者字符串变量后面跟上%,再跟上一个数据值,那么print就会输出一个替换掉%s的字符串或者替换%d的数字,这就是占位符的用法。

要注意,字符串有以下几个用法

  1. 多个占位符出现在一个字符串中

    多个占位符必须要有对应个元素进行替换,多了不行,少了也不行。
    对应的元素用元组装起来。

    msg = '%s爱%s'
    print(msg % ('老鼠', '大米'))   # 老鼠爱大米
    
    t1 = ('男孩', '女孩')
    print(msg % t1)   # 男孩爱女孩
    
    print(msg % ('老特', '老拜', '老希'))   # 报错
    print(msg % '我自己')  # 报错
    
  2. 填充0至多少位

    %05d的意思是如果不足5位则填充至五位,且用0填充

    msg = '您的消费是%05d元'
    print(msg % 23)  # 您的消费是00023元
    print(msg % 2334903)  # 您的消费是2334903元
    
  3. %s常见类型数据都支持替换,%d只支持数字

例子:

格式化输出,其中,需要替换冒号后面的字符
---------------info of Leethon---------------
Name:Leethon
Age:18
Gender:male
Job:IT
---------------End---------------
答案:
info_of_leethon = tuple([input('请输入姓名:'),
                   input('请输入年龄:'),
                   input('请输入性别:'),
                   input('请输入工作:')
                   ])
# info_of_leethon = ('Leethon', 18, 'male', 'IT')
print(info_of_leethon)
bar_fill = '-' * 15
print('%sinfo of Leethon%s' % (bar_fill, bar_fill))
print('Name:%s\nAge:%s\nGender:%s\nJob:%s' % info_of_leethon)
print('%sEnd%s' % (bar_fill, bar_fill))
posted @   leethon  阅读(145)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示