• 与用户交互、格式化输出、基本运算符


    与用户交互

    为什么交互

    我们发明计算机的目的是让计算机帮我们工作。ATM取代了柜员,当我们取款时,被要求要求输入卡号和密码以及存取款的金额。这就是交互。

    python是如何交互的

    print('-'*100)

    input('请输入姓名:')

    print('*' *100)


    请输入你的姓名:nick
    ************************************


    我们如何去写一个ATM登陆系统?

    name=input('请输入姓名:')

    pwd=input('请输入密码:')

    print(type(name))

    print(type(pwd))

    请输入姓名:wuxi

    请输入密码:213

    <class 'str'>

    <class 'str'>

    通过上面的print结果,我们发现input只接收字符串类型的值,不管我们在input中输入的是数字、列表还是其他。

    python2和pyhton3的交互(熟悉)

    name=raw_input('请输入姓名:')

    pwd=raw_input('请输入密码:')

    print(type(name)) #'str'

    print(type(pwd)) #'str'

    • 得知,python2的raw_input和python3的input一样

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

    • python3的交互比Python2的交互更合理。在python3中的交互使用麻烦了,因为输入年龄还要转换成字符串。如果是python2,还需用户自己输入数据类型。

    格式化输出

    占位符

    在程序中会出现要求用户输入信息、打印成固定格式的场景。

    比如要求用户输入'用户名'和年龄,然后打印为一下格式

    my name is wuxi,my age is 23

    用逗号将字符串拼接,只能把姓名和年龄放在末尾,不能放到指定位置。并且数字要经过str的转换才能和字符串拼接。很麻烦。

    age =19

    print('my name is wuxi,my age is '+str(age))

    my name is wuxi ,my age is23


    age =23

    print('my name is xxx,my age is',age)

    my name is xxx,my age is 23


    name ='wuxi'

    age =19

    print('my name is '+name' my age is'+str(age))

    my name is nick my age is 19


    上述的方法越看越变扭。这需要用到占位符,比如%s(针对所有数据类型)、%d(针对数据类型)

    name ='wuxi'

    age =23

    print(‘my name is %s my age is %s’ %(name,age))

    my name is nick my age is 23


    age =19

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

    format格式化(了解)

    这是一个积累的格式化方法。需要在句子后面加上一大堆参数。不如使用占位符或者下面的f-string格式化。

    f-string格式化(掌握)

    相比较占位符的方式,Python3.6新增的f-string格式化方式,比较简单易懂。推荐使用该方式。

    name ='wuxi'

    age =23

    print(f'hello,{name}.you are {age}.')

    hello wuxi .you are 23.


    age =23

    print (f'{age*2}')

    46


    salary=6.666

    print(f'{salary:.2f}')

    6.67

    基本运算符

    • 算术运算符(掌握)

    print(1+2)


    x=10

    y=20

    res=x+y

    print(res)


    有零有整除,得到一份浮点

    print(10/3)

    3.333333

    地板除,只取整数部分

    print(10/3)

    3

    %:取余

    print(10%3)

    1

    **,幂

    print(10**3)

    1000

    • 比较运算符(熟悉)

    pwd='123'

    print(pwd !='123')#false

    print(pwd =='123')#True


    11=[1,'a',3]

    12=[3]

    print(11<12)#false

    • 赋值运算符(掌握)

    age =23

    age =age +1

    print(age)

    24

    age =23

    age +=1

    print(age)

    24

    age =23

    age *= 10

    print(age)

    230

    逻辑运算符(掌握)

    逻辑运算符包括:and or not

    print(3>3 and 1>2 or 2>1)#false

    从左到右的方式找到逻辑运算符,找到逻辑运算符的左边,左边成立,再去找到逻辑运算符的右边

    身份运算符(掌握)

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

    身份运算符包括is和is not

    is和的区别:is用于判断两个变量引用对象是否在同一内存中;==用于判断引用变量的值是否相等

    x=257

    y=x

    z=257

    print(f'x is y:{x is y}')#x is y:true

    print(f'x == y:{x ==y}')# x= =y:true

    print(f'x is z:{x is z}')#x is z:false

    print(f'x == z:{x ==z}')#x ==z:true

    Python运算符的优先级(掌握)

    相当于数学中的先乘后除,优先级更高的,用括号括起来就行了

    链式赋值(掌握)

    a=10

    b=10

    c=10

    d=10

    print(f'a:{a},b:{b},c{c},d{d}')#a:10 ,b10,c10,d10


    a=b=c=d=10

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

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

    交叉赋值(掌握)

    x=100

    y=200

    temp=x

    x=y

    y=temp

    print(f'x:{x}')#x:200

    print(f'y:{y}')#y:100

    解压缩(掌握)

    给出一个列表,如何一次取出多个值?

    name _list=['wuxi','zdq','wrqrw',]

    x,y,z=name_list

    print(f'x:{x},y{y},z{z}')#x:wuxi,y:zdq,z:wrqrw

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

    name_list=['wuxi','zdq','zdq2','zdq3']

    x,y,z,a=name_list

    x, , z ,=name_list#_告诉计算机不要了,不能以_开头


    name_list=['wuxi','zdq','zdq2',’zdq3‘]

    x, y, _, _, =name_list

    写程序是用来创造价值的,Python追求的简洁性。因此字典也是可以得,但是字典解压缩的是key.

    info ={'name':'wuxi','age':'23'}

    x,y=info

    print(x,y)#name age

  • 相关阅读:
    Java Concurrency
    Java Concurrency
    Java Concurrency
    Java Concurrency
    Java Concurrency
    Java Concurrency
    Java Concurrency
    Java Concurrency
    存储的瓶颈(2)
    存储的瓶颈(3)
  • 原文地址:https://www.cnblogs.com/ZDQ1/p/10901475.html
Copyright © 2020-2023  润新知