您的位置:首页 > 运维架构

自动化运维[python]——————python中的输入[input( )、getpass模块、raw_input( )]与输出[print( )]

2020-03-19 07:35 78 查看

文章目录

  • 1.2 python2中
  • 1.3 python3中接收数据进行比较
  • 2.输出print( )
  • 2.2 字符串
  • 2.3 浮点型
  • 3.练习题
  • 1.接收用户从键盘输入的数据

    我们写的程序不能只和程序员进行交互,一定要和用户进行交互,比如接收用户输入的信息,处理这个信息,最后给用户一个反馈。

    1.1python3中

    1.1.1 普通输入回显input( )

    一般我们让用户输入内容,我们将内容可以回显。

    >>> input('Num:')
    Num:2
    '2'
    >>> input('Num:')
    Num:abc
    'abc'

    我们输入的所有内容以字符串的形式回显。

    1.1.2 密码输入不回显(getpass模块)

    在python中我们有很多第三方模块,这里我们使用getpass模块。就可以和用户交互不回显。

    比如我们有一个123456密码输入,我们将这个密码赋值给num变量。

    >>> import getpass
    >>> num = getpass.getpass('请输入密码:')
    请输入密码:

    这时你输入的内容就不会显示出来,可以打印num变量,得到密码值:

    >>> print(num)
    123456

    1.2 python2中

    1.2.1 数字bool可用input( )

    向其中输入数字2:

    >>> input('num:')
    num:2
    2

    当我们输入一个数字,是以数值型显示的。

    向其中输入字符串‘songyr’:

    >>> input('num:')
    num:songyr
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "<string>", line 1, in <module>
    NameError: name 'songyr' is not defined

    输入了字符串报错了。

    注意:在python2中input( )函数只支持正确的数值类型和bool型。

    输入浮点型:

    >>> input('num:')
    num:1.2
    1.2

    输入bool型:

    >>> input('num:')
    num:True
    True
    
    >>> input('num:')
    num:False
    False

    1.2.2 字符串使用raw_input( )

    如果一定要输入字符串,这时候使用raq_input( )函数:

    >>> raw_input('num:')
    num:2
    '2'
    
    >>> raw_input('num:')
    num:songyr
    'songyr'

    这时候就和python3中的input()函数一样,输入的都成为了字符串型。

    1.3 python3中接收数据进行比较

    在python3中接收到的数字字符串,我们可以直接转换为数值型进行比较。

    >>> num = int(input('num:'))
    num:123
    >>> print(num)
    123

    这样就可以直接是数值型进行比较。

    2.输出print( )

    使用print( )直接输变量,这样就可以改变变量改变输出结果。

    2.1 整型

    2.1.1 直接输出整数

    • %d:整型
    >>> name = 'songyanru'
    >>> age = 21
    >>> print('%s的年龄是%d' %(name,age))
    songyanru的年龄是21

    这时候我们直接改变变量的值就可以改变输出内容。

    2.1.2 整数固定长度

    还可以通过规定常规位和变化位来确定。

    • 比如我们有学号0317xxxx共8位学号,我们在写入的时候可以使用==‘0317%.4d’==,可以确定8位学号。
    >>> name = 'song'
    >>> num = 1
    >>> print('%s的学号是0317%.4d' %(name,num))
    song的学号是03170001

    2.2 字符串

    >>> name = 'liuyaowen'
    >>> age = 14
    >>> print('%s的年龄是%d' %(name,age))
    liuyaowen的年龄是14

    格式化输出:

    • %s:字符串的占位

    2.3 浮点型

    2.3.1 直接输出浮点型

    • %f:浮点型
    >>> name = '工资'
    >>> money = 12.113
    >>> print('%s是%f' %(name,money))
    工资是12.113000

    注意:%f会自动补0保留6位小数。

    2.3.2 小数固定长度

    我们使用%.nf保留n位小数。

    >>> name = '工资'
    >>> money = 12.113
    >>> print('%s是%.3f' %(name,money))
    工资是12.113

    2.3.3 百分数

    • 首先10%也是0.10。先输出0.10
    >>> num = 0.1
    >>> print('%.2f' %(num))
    0.10
    • 将0.10变为10。
    >>> print('%.2f' %(num * 100))
    10.00

    然后加上%就可以了

    >>> print('%.2f%' %(num * 100))
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ValueError: incomplete format

    注意:这里必须使用%%才可以加上%一个。

    >>> print('%.2f%%' %(num * 100))
    10.00%

    3.练习题

    求平均成绩(python3解释器):

    • 输入学生姓名。
    • 依次输入学生三门科目成绩(‘语文、数学、英语’)。
    • 结算改学生的平均成绩,并打印。
    • 平均成绩保留一位小数。
    • 计算语文成绩占总成绩的百分比。

    总成绩:

    name = input('输入你的姓名:')
    yu = int(input('输入你的语文成绩:'))
    shu = int(input('输入你的数学成绩:'))
    ying = int(input('输入你的英语成绩'))
    print('%s的总成绩是%d' % (name, yu + shu + ying))

    平均分:

    print('语文成绩所占百分比是%.2f%%' %( yu / (yu + shu + ying) * 100))

    结果:

    输入你的姓名:song
    输入你的语文成绩:12
    输入你的数学成绩:80
    输入你的英语成绩56
    song的总成绩是148
    语文成绩所占百分比是8.11%

    也可以定义多个变量:

    zong = yu + shu + ying
    yubi = yu / zong
    print('%s的总成绩是%d' % (name, zong))
    print('语文成绩所占百分比是%.2f%%' %(yubi * 100))
    • 点赞
    • 收藏
    • 分享
    • 文章举报
    mango_kid 发布了19 篇原创文章 · 获赞 0 · 访问量 509 私信 关注
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: