一、转义符
1.转义字符 \ 转义符
2.字符串编码
3.格式化输出
"1.转义字符:首先是转义的意思"
- \n 换行符
print('hello\nworld')
print('hello\\nworld')
输出:hello\nworld # 取消转义
- \t 制表符 ----自动排版的功能 ----一般情况下是代表4个空格
s1 = '姓名\t\t\t年龄\t\t\t性别\t\t班级'
s2 = 'Bait\t\t20岁\t\t男\t\t11期'
s3 = 'heart\t\t30岁\t\t男\t\t11期'
print(s1)
print(s2)
print(s3)
自动对齐--- 4位一组,不足补空格
print('w\t*')
print('ww\t*')
print('www\t*')
print('wwww\t*')
print('wwwww\t*')
print('wwwwww\t*')
print('wwwwwww\t*')
print('wwwwwwww\t*')
二、字符串编码
- 字符串编码 -----电报
- 把电报解析出来 ----大家都看得懂 -----解码
- 我们说的话 ---- 字符 -----> (计算机能读懂,并为我们工作 )------>二进制 -----------编码
- encode() 编码
二进制 ----> 字符
- 解码 decode()
识别中文编码的方式:UTF-8 GBK
英文情况下的编解码
a = 'python'
print(a)
b = a.encode() # 编码
print(b,type(b))
输出:<class 'bytes'>
解码
c = b.decode()
print(c)
中文情况下的的编解码
s1 = '拼搏到感动自己'
s2 = s1.encode()
print(s2,type(s2)) # type()查看数据类型
s3 = s2.decode()
print(s3)
三、字符串格式化
格式化输出:用一个模板来输出内容(特定内容可变,但不影响模板)
1、 占位符
- %s 字符串
- %d 十进制整数
- %f 浮点数
- %o 八进制整数
- %x 十六进制整数
age = 20
name = 'L'
print('他的名字是%s,年龄是%d岁'%(name,age))
- %a.bf a表示打印长度,b小数的位数
a = 1.23456
print('%3.2f' % a)
print('%8.2f' % a)
八进制 :逢8进1
9 = 8+1 ----》11
2、format() ----填坑法
print('{}+{}'.format(22, 'haha'))
s = 1.2345
print('{:.2f}'.format(s)) # 保留2位小数 1.23
百分比, 保留3位小数
print('{:.3%}'.format(s)) # 123.450%
print('{:.2%}'.format(s)) # 123.45%
3、f表达式
name ='lucy'
age = 19
print(f'姓名是{name},年龄是{age}岁')
print(f'name:{name}')
print(f'age:{age}')
四、可变和不可变
不可变类型: 数值 字符串 元组
可变类型:列表 字典
不可变对象:对象的内容不可以被改变,如果要改变的话,地址会变
定义:变量名 = 值
i = 10
print(i, id(i))
i = i+2
print(i, id(i))
可变对象:内容是可变的,地址还是原来的地址
lst = [1,2,3]
print(lst, id(lst))
lst.append(88)
print(lst, id(lst))
五、if条件
if 条件:
print()
tian_qi = '下雨' # 变量
if tian_qi == '下雨':
print("我要带伞出门")
输出: 我要带伞出门
if True: # 恒成立
print("我要带伞出门")
print("我要带伞出门")
输出:我要带伞出门
我要带伞出门
age = 20
if age >=18:
print('可以进网吧')
输出:可以进网吧
if-else
age = 16
if age >=18:
print('可以进网吧')
else:
print('不准入内')
输出: 不准入内
多个条件
例:
需求: 1.定义一个数字来记录你的成绩 2.分数大于等于90并且小于等于100成绩为特优 3.分数大于等于80并且小于90成绩为优秀 4.分数大于等于70并且小于80成绩为良好 5.分数大于等于0并且小于70请继续努力 6.输入其他数字成绩无效 score = 168 if 90 <= score <= 100: print('特优') elif 80 <= score < 90: print('优秀') elif 70 <= score < 80: print('良好') elif 0 <= score < 70: print('请继续努力') else: print('成绩无效') |
"if嵌套:某个判断是在另外一个判断成立的基础上进行的"
例:
需求 定义布尔型变量 has_ticket 表示是否有车票 定义整型变量 knife_length 表示刀的长度,单位:厘米 首先检查是否有车票,如果有,才允许进行 安检 安检时,需要检查刀的长度,判断是否超过 20 厘米 如果超过 20 厘米,提示刀的长度,不允许上车 如果不超过 20 厘米,安检通过 如果没有车票,不允许进门 逻辑: if 有票: # 有票还要过安检 if 刀长不超过20厘米: 允许上车 else: 不允许带上车 else: 没票 不允许进门 has_ticket = True # 有车票 knife_length = 10 if has_ticket: if knife_length<= 20: print('允许上车') else: print('不允许带上车') else: print('不允许进站') |
为真结果 if 判断条件 else 为假结果
a = 1
b = 2
print(a if a > b else b)
六、while循环
循环:减少书写代码
1、打印10遍 I love you!
i = 1 # 计数器
while i <= 10:
print(f'第{i}次说 I love you!')
i += 1 # i = i+1 每循环一次,i加1
2、1-100的累计和
分析过程:
1 + 2 +3 + 4 + 5…… +100
lan_zi = 0 # 空的
lan_zi = lan_zi + 1 # 第一天
lan_zi = lan_zi + 2 # 第二天 1+2
lan_zi = lan_zi + 3 # 第三天 1+2+3
……
lan_zi = lan_zi + 100 # 第100天 1+2+3
lan_zi = 0 # 篮子用来装鸡蛋
dan = 1 # 天数的计数器(鸡蛋的计数器)
while dan <= 100:
lan_zi = lan_zi + dan
dan += 1
print(f'100天篮子里总共存了{lan_zi}个蛋')
3、循环的嵌套
医生说:药吃三天,每天三次,保准好
day = 1 # 天数的计数器
while day <= 3:
num = 1 # 吃药的次数初始值
print(f'这是第{day}天')
while num <=3:
print(f'这是今天的第{num}次药')
print('*'*30)
num += 1
day += 1
九九乘法表
print('哈哈')
print('哈哈')
print('哈哈', end='☆')
print('哈哈', end='☆')
9行小星星
hang = 1 # 行的初始值
while hang <= 9:
lie = 1 # 列的初始值
while lie <= hang:
print('*', end='\t') # 去掉换行
lie += 1
print() # 当内循环结束后,手动换行
hang += 1
九九乘法表
hang = 1 # 行的初始值
while hang <= 9:
lie = 1 # 列的初始值
while lie <= hang:
print(f'{lie}*{hang}={lie*hang}', end='\t') # 去掉换行
lie += 1
print() # 当内循环结束后,手动换行
hang += 1
七、for
lst = [1, 2, 3, 4]
for i in lst: # for的遍历
print(i)
for…… in range()
range(开始标签,结束标签,步长) 范围
结束标签取不到,默认开始开始标签从0开始,默认步长为1,结束标签取不到
for i in range(0, 5, 1):
print(i)
for i in range(5):
print(i)
for i in range(1, 5, 2):
print(i)
九九乘法表
for hang in range(9):标签:lie,lan,zi,python,hang,妹纸,while,print,深似海 From: https://blog.51cto.com/u_15397018/6115640
for lie in range(1,hang+1):
print(f'{lie}*{hang}={lie*hang}', end='\t') # 去掉换行
print() # 当内循环结束后,手动换行