zoukankan      html  css  js  c++  java
  • python入门之与用户交互和运算符

    一、用户的交互

    1、接收用户的输入

    在Python3中:

      input会将用户输入的所有内容都存成字符串类型

    username = input("请输入您的账号:")  # "lance"
    print(username, type(username))
    
    age = input("请输入的你的年龄: ")  # age="18"
    print(age, type(age))
    age=int(age) # int只能将纯数字的字符串转成整型(类型转换)
    print(age > 16)
    

    在python2中:

      raw_input():用法与python3的input一模一样。

      input(): 要求用户必须输入一个明确的数据类型,输入的是什么类型,就存成什么类型。但是这样对用户极其不友好,所以在python3被舍弃。

    2、字符串的格式化输出

    2.1 、%

      值按照位置与%s一一对应,少一个不行,多一个也不行

    res="my name is %s my age is %s" %('Lance',"18")
    res="my name is %s my age is %s" %("18",'Lance')
    res="my name is %s" %"Lance"
    print(res)
    

     以字典的形式传值,打破位置的限制

    res="我的名字是 %(name)s 我的年龄是 %(age)s" %{"age":"18","name":'Lance'}
    print(res)
    

     %s可以接收任意类型

    print('my age is %s' %18)
    print('my age is %s' %[1,23])
    print('my age is %s' %{'a':333})
    print('my age is %d' %18) # %d只能接收int
    

    2.2 str.format(兼容性好)

     按照位置传值

    res='我的名字是 {} 我的年龄是 {}'.format('egon',18)
    print(res)
    
    res='我的名字是 {0}{0}{0} 我的年龄是 {1}{1}'.format('egon',18)
    print(res)
    

     打破位置的限制,按照key=value传值

    res="我的名字是 {name} 我的年龄是 {age}".format(age=18,name='Lance')
    print(res)
    

    2.4 填充与格式化

     先取到值,然后在冒号后设定填充格式:[填充字符] [对齐方式] [宽度]

    #*<10:左对齐,总共10个字符,不够的用*号填充
    print('{0:*<10}'.format('开始执行')) # 开始执行******
    
    #*>10:右对齐,总共10个字符,不够的用*号填充
    print('{0:*>10}'.format('开始执行')) # ******开始执行
    
    # *^10:居中显示,总共10个字符,不够的用*号填充
    print('{0:*^10}'.format('开始执行')) # ***开始执行***
    

    2.5 精度与进制

    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
    

    2.3 f:python3.5以后才推出

    x = input('your name: ')
    y = input('your age: ')
    res = f'我的名字是{x} 我的年龄是{y}'
    print(res)
    

        


    二、运算符

    1、算数运算符

    print(10 + 3.1)  #整型和浮点型可以一起计算
    print(10 + 3)
    print(10 / 3)   # 结果带小数
    print(10 // 3)   # 只保留整数部分
    print(10 % 3)  # 取模、取余数
    print(10 ** 3)  # 取模、取余数
    

     

    2、比较运算符: >、>=、<、<=、==、!=

    print(10 > 3)
    print(10 == 10)
    
    print(10 >= 10)
    print(10 >= 3)
    
    name=input('your name: ')
    print(name == 'Lance')
    

    3、赋值运算符

    3.1 变量的赋值:(=)

    3.2 增量赋值:

    age = 18
    age += 1  # age=age + 1
    print(age)
    
    age*=3
    age/=3
    age%=3
    age**=3  # age=age**3
    

     

    3.3 链式赋值

    x=10
    y=x
    z=y
    z = y = x = 10 # 链式赋值
    print(x, y, z)
    print(id(x), id(y), id(z))
    

     

    3.4 交叉赋值

    m=10
    n=20
    print(m,n)
    
    #交换值
    temp=m
    m=n
    n=temp
    print(m,n)
    
    m,n=n,m # 交叉赋值
    print(m,n)
    

     

    3.5 解压赋值

    salaries=[111,222,333,444,555]
    
    #解压赋值
    mon0,mon1,mon2,mon3,mon4=salaries
    print(mon0)
    print(mon1)
    print(mon2)
    print(mon3)
    print(mon4)
    
    mon0,mon1,mon2,mon3=salaries # 对应的变量名少一个不行
    mon0,mon1,mon2,mon3,mon4,mon5=salaries # 对应的变量名多一个也不行
    

      引入*,可以帮助我们取两头的值,无法取中间的值

    # 取前三个值
    x,y,z,*_=salaries=[111,222,333,444,555]  # *会将没有对应关系的值存成列表然后赋值给紧跟其后的那个变量名,此处为_
    print(x,y,z)
    print(_)
    
    # 去后三个值
    
    *_,x,y,z=salaries=[111,222,333,444,555]
    print(x,y,z)
    
    # 取两边的值
    
    x,*_,y,z=salaries=[111,222,333,444,555]
    print(x,y,z)
    
    # 预定俗成一定不能这么做!
    
    salaries=[111,222,333,444,555]
    _,*middle,_=salaries
    print(middle)
    
    # 解压字典默认解压出来的是字典的key
    x,y,z=dic={'a':1,'b':2,'c':3}
    print(x,y,z)
    
  • 相关阅读:
    生产环境Redis中的热点key如何发现并优化?
    一条update SQL在MySQL中结束生命历程
    主从测试过程中,如何模拟网络抖动?
    RDS-MySQL物理备份文件恢复到自建数据库
    Python从数据库中读取数据,并打印表格展示数据。
    Python简单巡检MySQL
    RDS-MySQL备份文件恢复到自建数据库
    使用Python读取Excel表格
    设计模式六大原则:迪米特法则
    设计模式六大原则:开闭原则
  • 原文地址:https://www.cnblogs.com/Lance-WJ/p/12420732.html
Copyright © 2011-2022 走看看