zoukankan      html  css  js  c++  java
  • 计算机交互,格式化输出,基本运算符

    一、与计算机交互

    1. python与用户如何交互?

    ​ 如:手写一个ATM的登录系统

    name = input('请输入你的姓名:')
    pwd = input('请输入你的密码:')
    
    print(type(name))
    print(type(pwd))
    

    ​ 请输入你的姓名:nick
    ​ 请输入你的密码:123
    ​ <class 'str'>
    ​ <class 'str'>

    ​ 通过打印结果,可以发现input()方法的作用只是接收值,无论我们输入的是数字类型、字符 串 类型、列表类型,input()的接收值都是字符串类型,

    ​ 我们暂时都是用input()交互,之后会用Web/可视化界面的形式交互。

    1. Python2和Python3的交互

      name = raw_input('请输入你的姓名:')
      pwd = raw_input('请输入你的密码:')
      
      print(type(name))  # 'str'
      print(type(pwd))  # 'str'
      

    python2当中的raw_input()和python3中的input()是一样的。

    ```python
    x = input('username: ')  # 必须输入明确的数据类型,你输入什么类型则接收什么数据类型,输入'egon'而不是egon,否则会报错
    ```
    

    python3的交互相比较于python2应该是 更合理,虽然使用更麻烦了些,因为输入年龄还需要 强制转换,但是如果用python2的input,用户需要知道自己输入的数据是什么类型的,不 方便。

    二、格式化输出

    1. 占位符

      如:%s(针对所有数据类型)、%d(仅仅针对数字类型)

      name='jick'
      age=19
      print('My name is %s,my age is %s' %(name,age))
      

      my name is jick ,my name is 19

      age=19
      print('my age is %d' %age)
      

      my age is 19

    2. format格式化

      相比较占位符的方式,python3.6版本新增了f-string格式化的方式,简单易懂,用的比较多。

      • 小写的f:
      name = 'nick'
      age = 19
      print(f'Hello, {name}. You are {age}.')
      

      Hello,nick.You are 19.

      • 大写的F也适用:
      name = 'nick'
      age = 19
      print(F'Hello, {name}. You are {age}.')
      

      Hello, nick. You are 19.

      • 以后会用到的操作:
      age=19
      print(f'{age*2}'')
      

      38

      • ''.2f''代表显示小数点后2位
      salary = 6.6666
      print(f'{salary:.2f}')
      

      6.67

    三、基本运算符

    1. 算数运算符

      就是基本的加减乘除。

      • print(1+2)     --->3
        
      • #  /: 有零有整除,得到一个浮点型
        print(10/3)   --->3.333333333333335
        
      • #  //:地板除,只取整数部分
        print(10//3)  ---> 3
        
      • # %:取余
        print(10%3)     --->1
        
      • #  **:幂
        print(10**3)     --->1000
        

      基本运算符-算术运算符.jpg

    2. 比较运算符基本运算符-比较运算符.jpg

      pwd='123'
      print(pwd!='123')     #  false
      print(pwd=='123')     #  true
      
      13=[1,3]
      print(11<13)   # 报错,列表比较大小仅限于同一位置的对应的值是相同的类型
      
    3. 赋值运算符基本运算符-赋值运算符.jpg

      age=19
      age*=2
      print(age)      --->38
      
    4. 逻辑运算符基本运算符-逻辑运算符.jpg

    5. 身份运算符基本运算符-身份运算符.jpg

      身份运算符用于比较两个对象的存储单元。

      is和==的区别:is用于判断两个变量引用对象是否为同一个(是否在同一块内存空间中),

      ==用于判断引用变量的值是否相等。

      x = 257
      y = x
      z = 257
      
      print(f'x is y:{x is y}')
      print(f'x == y:{x == y}')
      
      print(f'x is z:{x is z}')
      print(f'x == z:{x == z}')
      

      x is y:True
      x == y:True
      x is z:False
      x == z:True

      id相同的值一定相同,值相同的id不一定相同,小整数池的除外。

    6. Python运算符优先级!基本运算符-python运算符优先级.jpg

    python运算符的优先级相当于数学中的先算乘除再算加减,优先级高的用括号括出来就可以了。

    1. 链式赋值

      a=b=c=d=e=10
      print(f'a:{a},b:{b},c:{c},d:{d},e:{e}')
      

      a:10, b:10, c:10, d:10,e:10

    2. 交叉赋值

      x = 100
      y = 200
      x, y = y,x
      
      print(f'x:{x}')
      print(f'y:{y}')
      

      x:200

      y:100

    3. 解压缩

      如果我们给出一个列表,我们需要一次性取出多个值,我们是不是可以用下面的方式实现呢?

      name_list = ['nick', 'egon', 'jason']
      x = name_list[0]
      y = name_list[1]
      z = name_list[2]
      print(f'x:{x}, y:{y}, z:{z}')
      

      x:nick, y:egon, z:jason

      变量值的解压缩可以这样理解。超市打包是把多个商品放在一起,解压缩其实就是解包把多个商品一次性拿出来。

    name_list = ['nick', 'egon', 'jason', ]
    x, y, z = name_list
    print(f'x:{x}, y:{y}, z:{z}')
    

    x:nick, y:egon, z:jason

    有时候我们解压缩的值可能是我们不想要的,那么可以使用下划线,万能的下划线。

    name_list = ['nick', 'egon', 'jason', 'tank']
    x, y, z, a = name_list
    x, _, z, _ = name_list  # _相当于告诉计算机不要了,不能以_开头和结尾
    

    还能有一个只可意会不可言传的操作。

    name_list = ['nick', 'egon', 'jason', 'tank', 'kevin', 'jerry']
    x, y, _, _, _, z = name_list
    x, y, *_, z = name_list
    

    写程序关键是创造价值。python追求的是简洁性,代码不要写的太长了。因此字典也是可以的,但是字典解压缩的是key。

  • 相关阅读:
    二、云计算openstack共享组件--时间同步服务ntp
    一、云计算openstack介绍
    五、Kvm虚拟机迁移
    四、Kvm虚拟化网络管理
    三、Kvm虚拟化存储管理
    二、kvm虚拟机管理
    一、kvm虚拟化介绍
    九、Linux网络技术管理及进程管理
    园主的码云网站,可以在里面查看园主的练习代码哦
    万能Makefile,前戏做足项目做起来才顺畅。
  • 原文地址:https://www.cnblogs.com/gongjingyun123--/p/10901614.html
Copyright © 2011-2022 走看看