格式化输出,基本运算符,流程控制主if
5.5自我总结
一.格式化输出
1.占位符
a = 1
b = 2
print('%S %s'%(a,b))
#1 2
print('%s %s'%(1,2))
#1 2
2.format格式化
a = 1
b = 2
print('{} {}'.format(a,b))
#1 2
print('{}次数{}次数'.format(a,b))
#1次数2次数
print('{}'.format("a"))
#好
print('{0} {1}'.format(a,b,1,2,3,4))
#1 2
print('{} {}'.format(a,b,3,5,6,7))
#1 2
#format格式化比占位符优点,他可以format后面的值的数量比前面多,但是不能前面值比后面多,如果用占位符可以一一对应。
3.f-string格式化
a= 10
b =11
print(f'{a} {b}')
二.基本运算符
1.算术运算
就是普通的加减乘除,无非就是不同数据类型中的加减与乘除会有点区别不同
如
#数字类型
a = 1
b = 2
print(a+b) #3
print(a*b) #2
#字符串类型
a = '1'
b = '2'
print(a+b)#12
print(a*b)#报错
print(a*2)#11也就相当于print(a+a)
2.比较运算
> 大于
< 小于
!= 不等于#不存在!<不大于以及!>不小于这样写法
<=小于等于
>=大于等于
3.赋值运算
其中数据类型会使得结果会发生点变化
如
a = 1
b = 1
b += a#等同于b = a+b
print(b)
2
a = '1'
b = '1'
b += a
print(b)
11
```个人理解``
其写法就是 a (运算符号)= b 其等效与 a = a(运算符号)b
4.身份运算
其实就是变量值在内存中位置的计算
a = 10
b = 10
a is b等效与id(a)==id(b)
5.链式赋值
其实就是一种写法
如
a = 10
b = a
c = b
按照链式赋值的写法也就是a =b =c =10
6.交叉赋值
如
a = 266
b = 300
#我们要把a 与 b的值进行替换
#错误示范,这样表面看上去值是变了,但是其中266的id不是原来266的id他们不是同一个266
b = 266
a = 300
#不用交叉赋值
c = a
a = b
b = c
#实用交叉赋值
a,b=b,a
7.解压缩运算
用于一次性读写出列表里的内容,以及字典中的key
#列表中的值
yang_wen_yi_info_list = ['yangwenyi',25,172,130,['lol','ps']]
name,age,height,weight,hobby = yang_wen_yi_info_list
print(name)
print(age)
print(height)
print(weight)
print(hobby)
#
yangwenyi
25
172
130
['lol', 'ps']
#如果我们只要把其中的25数值赋予age
#第一种方法
_,age,*_ = yang_wen_yi_info_list
#第二种方法
name,age,height,weight,hobby = yang_wen_yi_info_list
#第三种方法
_,age,_,_,_ = yang_wen_yi_info_list
#再字典中取关键字
yang_wen_yi_info_dict = {
'name':'yangnweyi',
'age' : 25,
'height' : 172,
'weight' : 130,
'hobby' : ['ps',''lol]
}
#知道其中所有的key
name,age,height,weight,hobby = yang_wen_yi_info_dict
print(name,age,height,weight,hobby)
#补充如果让字典中的所有key以列表形式出现
key = list(yang_wen_yi_info_dict.keys())
print(key)
['name', 'age', 'height', 'weight', 'hobby']
8.逻辑运算符
1.and
1>2 and 3>2 and 1>0 #如果AND第一个就为false,后面不管写什么系统都不会再接着往下看了
False
2.or
1>2 or 2>1#其中只要一个√答案就为True
True
3.not
1>2
False
not 1 >2
Ture
not 1 >2 and 2>1
Ture
not (1 >2 and 2>1)
Ture
三.流程控制
1.if....else
注意点if与else并列,且后面要加:下一级别前面加tab
2.if...elif...else
注意点if,elif,else并列,且后面要加:下一级别前面加tab
四.今日题目
- 使用格式化输出的三种方式实现以下输出(name换成自己的名字)
name = 'Nick'
height = 180
weight = 140
# "My name is 'Nick', my height is 180, my weight is 140"
#下面几种方法前面变量设置都相同如下
name = 'yangwneyi'
height = 172
weight 135
#第一种
print(f'My name is {name}, my height is {height}, my weight is {weight}')
print(F'My name is {name}, my height is {height}, my weight is {weight}')
#第二种
print('My',"name","is",name+',','my','height','is',str(height)+',','my','weight','is',weight)
print('My name is',name+',','my height is',str(height)+',','my weight is',weight)
#第三种
print('%s %s, %s %s, %s %s'%('My name is',name,'my height is',height,'my weight is',weight))
#第四种
print('My name is {}, my height is {}, my weight is {}'.format(name,height,weight))
#第五种
print('My name is'+' '+name+','+' '+'my height is'+' '+str(height)+','+' '+'my weight is'+' '+str(weight))
print('My'+' '+'name'+' '+'is'+' '+name+','+' '+'my'+' '+'height'+' '+'is'+' '+str(height)+','+' '+'my'+' '+'weight'+' '+'is'+' '+str(weight))
- 整理《基本运算符》博客,并给出url链接:
- 一行代码实现下述代码功能:
x = 10
y = 10
z = 10
#x = y = z = 10
- 两种方式交换x和y的值:
x = 10
y = 10
x,y = y,x
-
一行代码取出该列表的第2、3个爱好:
nick_hobby_list = ['read','run','music','code']
_,hobby_2,hobby_3,_ = nick_hobby_list
-
使用代码实现以下业务逻辑:
- 输入姑娘的年龄后,进行以下判断:
- 如果姑娘小于18岁,打印“未成年”
- 如果姑娘大于18岁小于25岁,打印“表白”
- 如果姑娘大于25岁小于45岁,打印“阿姨好”
- 如果姑娘大于45岁,打印“奶奶好”
- 输入姑娘的年龄后,进行以下判断:
#作业答案
age = input('请用阿拉伯数字输入您的年龄')
age = int(age)
if age < 18:
print('未成年')
elif age > 18 and age <25:
print('表白')
elif age>25 and age<45:
print('阿姨好')
elif age > 45 :
print('奶奶好')
else:
print('我猜你年龄肯定是18,25,45中间其中一个是不是')
#扩展
age = input('请用阿拉伯数字输入您的年龄')
age = int(age)
if age < 18:
print('未成年')
elif age > 18 and age <25:
contatc_info = input('小姐姐请输入你的微信联系方式')
print('拜拜,小姐姐')
elif age>25 and age<45:
print('阿姨好')
elif age > 45 :
print('奶奶好')
else:
if age == 18:
contatc_18_info = input('小妹妹请输入你的微信联系方式')
print('谢谢配合')
elif age ==25:
print('即将迈入老阿姨的大军中')
else:
print('奶奶好')