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

与用户交互

为什么交互

我们发明计算机的目的是让计算机帮我们工作。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

猜你喜欢

转载自www.cnblogs.com/ZDQ1/p/10901475.html