day04-交互、格式化输出及基本运算符

与用户交互

交互就是用户与计算机对话。在python中通过input()来向计算机输入信息

python2和python3交互的区别

  1. 在python2中,input()输入数据时需要指定输入数据的类型,否则会报错。如下:输入字符串'nick'时,name接收变量值;输入nick时,会报错误提示信息,所以它没有存在的必要了。

1558415499194

  1. 在python3中,input()无论输入数据是什么类型,都会自动转换成字符串类型
name = input('enter name>>>')
age = input('enter age>>>')
hobby = input('enter hobby>>>')
print(type(name))
print(type(age))
print(type(hobby))
enter name>>>nick
enter age>>>18
enter hobby>>>['read','run','music']
<class 'str'>
<class 'str'>
<class 'str'>
  1. python2中的raw_input()相当于python3中的input()

格式化输出

1 字符串拼接

用连接符“+”将输出的字符串拼接

name = input("name>>>")     # 输入姓名
age = input('age>>>')       # 输入年龄
height = input('height>>>')     #输入身高
print('My name is '+name+',My age is '+age+',My height is '+height)     
name>>>nick
age>>>18
height>>>180.5cm
My name is nick,My age is 18,My height is 180.5cm

2 占位符

用%占位,%s针对所有数字类型、%d仅针对数字,在此沿用上面字符串的输入信息。

print('My name is %s, age is %s, height is %s'%(name,age,height))
My name is nick, age is 18, height is 180.5cm

3 format格式

用{}占位,.format()的形式。

print('My name is {}, age is {}, height is {}'.format(name,age,height))     # 有几个空{},format中就要有几个变量对应
print('My name is {1}, age is {0}, height is {2}'.format(name,age,height))      #{}中的数字表示format中的第几位,从0开始算
My name is nick, age is 18, height is 180.5cm
My name is 18, age is nick, height is 180.5cm

4 f-string格式

用f-string的形式,不仅简便也可以在输出的基础上做简单的数据操作,推荐使用

print(f'My name is {name},My age is {age},My height is {height}')
print(F'My name is {name},My age is {age},My height is {height}')       # 可以使用大写的F-string
print(f'My name is {name},My age is {int(age)+1},My height is {height}')        # 将字符串转换成数字型且进行运算
print(f'My name is {name},My age is {age},My height is {height*2}')     # 对字符串height进行拼接
print(f'My name is {name},My age is {int(age):.2f},My height is {height}')      # 将字符串转换成数字且保留两位小数
My name is nick, age is 18, height is 180.5cm
My name is nick, age is 18, height is 180.5cm
My name is nick, age is 19, height is 180.5cm
My name is nick, age is 18, height is 180.5cm180.5cm
My name is nick, age is 18.00, height is 180.5cm

基本运算符

算术运算符

定义 x = 10 、y = 3

x + y       # 输出结果为13
x - y       # 输出结果为7
x * y       # 输出结果为30
x / y       # 输出结果为3.33
x % y       # 输出结果为1
x ** y      # 输出结果为1000
x // y      # 输出结果为3

比较运算符

定义 x = 10 、y = 3

x > y       # 返回True
x < y       # 返回False
x ==y       # 返回False
x >= y      # 返回True
x <= y      # 返回False
x != y      # 返回True
x <> y      # 返回True

赋值运算符

c = 19      # 简单的赋值运算符
c += a      # 等同于c = c + a
c -= a      # 等同于c = c - a
c *= a      # 等同于c = c * a
c /= a      # 等同于c = c / a
c %= a       # 等同于c = c % a
c //= a     # 等同于c = c // a
c **= a      # 等同于c = c \*\* a

逻辑运算符

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

x and y     # 布尔“与”,如果有一个为False,结果返回False;全为True时,结果返回True
x or y      # 布尔“或”,只要有一个为True,结果返回True;全为False时,结果返回False
not x       # 布尔“非”,如果x为True,结果返回False;如果x为False,结果返回True

身份运算符

用于比较两个对象的存储单元。id相同的值一定相同,值相同的id不一定相同,除了小整数池的数之外

is      # 判断两个标识符是不是引用自一个对象,如果是同一对象,返回True,否则返回False
is not      # 判断两个标识符是不是引用自不同对象,如果是不同对象,返回True,否则返回False

赋值

链式赋值

a = 10
b = 10
c = 10
a = b = c = 10      # 链式赋值

交叉赋值

x = 10
y = 20

# 在其他语言中,需要借助第三个变量来将x,y进行交换
temp = x        # temp = 10
x = y           # x = 20
y=temp          # y = 10

# 在python中可直接使用一行代码实现交叉赋值
x, y = y, x     # x = 20, y = 10

解压缩

如果给出一个列表,需要我们从列表中一次性取出多个值。“_”代表一个字符串,“*_”表示一个或多个字符串

hobby_list = ['read','music','run','fishing','basketball','baseball','singing']

# 取出第2,第3个
_,hobby2,hobby3,*_ = hobby_list     # 把列表中的第2个值赋给了hobby2,第3个值赋给了hobby3
print(hobby2,hobby3)        

猜你喜欢

转载自www.cnblogs.com/863652104kai/p/10900882.html