首页 > 其他分享 >用户交互之输入输出

用户交互之输入输出

时间:2022-09-26 19:22:42浏览次数:48  
标签:data 输入输出 用户 msg 字符串 print input 交互 输入

与用户交互

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

输入: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))

标签:data,输入输出,用户,msg,字符串,print,input,交互,输入
From: https://www.cnblogs.com/Leethon-lizhilog/p/16732066.html

相关文章

  • 用户管理
     用户和用户组概述用户种类超级管理员:拥有最高权限的账户(默认叫做root)可以正常登录人可以使用普通用户:权限受限的用户可以正常登录人可以使用程序用户:不可......
  • 数据类型,bool,tuple,set,用户交互,格式化输出,运算符
    基本数据类型之布尔值bool1.用来判断事物的对错是否可行只要用于流程控制中2.只有两种状态True对的真的可行的False错的假的不可行的3.python中所有......
  • Java登录专题-----创建用户(一)
    Java登录专题-----创建用户(一)我来填坑了创建用户入参应该包括:用户姓名,用户密码,用户手机号,用户所属机构用户版本号,角色id 出参:没有 数据结构:JavaBean  ......
  • STS用Maven写一个登录页面 - 用MySQL验证登录用户
    上一章我们已经将MySQL和STS的连接进行了测试,下面我们就用MySQL验证登录用户是否正确。可参考:https://www.cnblogs.com/smart-zihan/p/15041013.html第一步:建立数据库接......
  • 接了个变态需求:给定一个接口,要用户自定义动态实现并上传热部署,怎么搞?
    近期开发系统过程中遇到的一个需求,系统给定一个接口,用户可以自定义开发该接口的实现,并将实现打成jar包,上传到系统中。系统完成热部署,并切换该接口的实现。定义简单的接口......
  • oracle数据库用户
    一、系统用户sys和system的区别1、存储的数据的重要性不同【最重要的区别】【sys】所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行......
  • buildg 交互式dokcerfile debuger 工具
    buildg的设计是比较有意思的,使用buildg可以解决我们dockerfile调试的问题,内部基于了buildkit类似的工具buildkitcntrcontainerd参考资料https://github.com/ktock/b......
  • 银河麒麟操作系统root用户登录图形化界面
    第一步、为root用户设置密码sudopasswd设置root用户密码第二步、开启root登录权限vim/usr/share/lightdm/lightdm.conf.d/60-kylin.conf,加入greeter-show-manual-lo......
  • mysql用户与权限
    mysql.version=5.7(必须注意版本)创建用户(CREATEUSER'bob'@'%'IDENTIFIEDBY'07fa533360d9';)创建bob用户密码:07fa533360d9(CREATEUSER"test"@"localh......
  • Linux—用户与组
    Linux操作系统是多用户、多任务系统——即允许多个用户同时登录Linux系统并启动多个任务(有的用户是远程登陆)。用户账号和用户组是进行身份鉴定和权限控制的基础,身份鉴别的......