“”"
2020/02/24
01-格式化输出
标准格式化输出
“”"
age = 18
name = ‘TOM’
weight = 75.5
stu_id = 1
stu_id2 = 1000
# 1. 今年我的年龄是x岁 – 有符号十进制整数 %d
print(‘今年我的年龄是%d岁’ % age)
# 2. 我的名字是x – 字符串 %s
print(‘我的名字是%s’ % name)
# 3. 我的体重是x公斤 – 浮点数 %f,默认保留6位小数。
# %.3f,表示⼩数点后显示的⼩数位数。
print(‘我的体重是%.3f公斤’ % weight)
# 4. 我的学号是x – %d
print(‘我的学号是%d’ % stu_id)
# %03d,表示输出的整数显示位数,不⾜以0补全,超出当前位数则原样输出
# 4.1 我的学号是001
print(‘我的学号是%03d’ % stu_id)
# 4.2 我的学号是1000
print(‘我的学号是%03d’ % stu_id2)
# 5. 我的名字是x,今年x岁了
print(‘我的名字是%s,今年%d岁了’ % (name, age))
# 5.1 我的名字是x,明年x岁了
print(‘我的名字是%s,明年%d岁了’ % (name, age + 1))
# 6. 我的名字是x,今年x岁了,体重x公斤,学号是x
print(‘我的名字是%s,今年%d岁了,体重%.2f公斤,学号是%06d’ % (name, age, weight, stu_id))
02-格式化字符串的两种方法
“”"
格式化字符串的两种方法:
(1) %s
(2) f’{表达式}’ :Python3.6新增
“”"
name = ‘TOM’
age = 18
# 我的名字是x,今年x岁了
print(‘我的名字是%s,今年%s岁了’ % (name, age))
# 语法 f’{表达式}’
print(f’我的名字是{name},今年{age}岁了’)
03-转义字符
“”"
\n :换⾏。反斜杠。
\t :制表符,⼀个tab键(4个空格)的距离。
“”"
print(‘hello’)
print(‘world’)
print(‘hello\nPython’)
print(’\tPython’)
04-print的结束符
“”"
Python中,print()默认⾃带 end="\n" 这个换⾏结束符。
“”"
print(‘hello’, end="\n")
print(‘world’, end="\t")
print(‘hello’, end="…")
print(‘Python’)
05-input输入
“”"
书写input
input(‘提示信息’)
观察特点
2.1 遇到input,等待用户输入
2.2 接收input存变量
2.3 input接收到的数据都当成字符串处理
“”"
password = input(‘请输入您的密码:’)
print(f’您输入的密码是{password}’)
print(type(password))
06-快速体验数据类型转换
“”"
07-数据类型转换函数
“”"
数据类型转换常⽤的函数
int()
float()
str()
list()
tuple()
eval()
“”"
# 1. float() – 将数据转换成浮点型
num1 = 1
str1 = ‘10’
print(type(float(num1))) # float
print(float(num1)) # 1.0
print(float(str1)) # 10.0
# 2. str() – 将数据转换成字符串型
print(type(str(num1))) # str
print(str(num1)) # ‘1’
# 3. tuple() – 将一个列表序列转换成元组序列
list1 = [10, 20, 30]
print(tuple(list1)) # (10, 20, 30)
# 4. list() – 将一个元组序列转换成列表序列
t1 = (100, 200, 300)
print(list(t1)) # [100, 200, 300]
# 5. eval() – 计算在字符串中的有效Python表达式,并返回一个对象
str2 = ‘1’
str3 = ‘1.1’
str4 = ‘(1000, 2000, 3000)’
str5 = ‘[1000, 2000, 3000]’
print(type(eval(str2))) # int
print(type(eval(str3))) # float
print(type(eval(str4))) # tuple
print(type(eval(str5))) # list
08-算数运算符
“”"
运算符的分类:
算数运算符、赋值运算符、复合赋值运算符、⽐较运算符、逻辑运算符
算数运算符
算数运算优先级顺序: () ⾼于 ** ⾼于 * / // % ⾼于 + -
“”"
# 7
print(1 + 2 * 3)
09-赋值运算符
“”"
赋值运算符:
=
“”"
# 单个变量赋值
num = 1
# 多个变量赋值
num1, float1, str1 = 10, 0.5, ‘hello world’
print(num1)
print(float1)
print(str1)
# 多个变量赋相同值
a = b = 10
print(a)
print(b)
10-复合赋值运算符
“”"
复合赋值运算符:
+= 加法赋值运算符 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
“”"
a = 10
a += 1 # a = a + 1
print(a) # 11
b = 2
b *= 3 # b = b * 3
print(b) # 6
c = 10
c += 1 + 2
# 先算运算符右侧1 + 2 = 3, c += 3 , 推导出c = 10 + 3
print© # 13
d = 10
d *= 1 + 2
print(d) # 30
11-比较运算符
“”"
⽐较运算符:也叫关系运算符,通常⽤来判断。
== != > < >= <=
“”"
a = 7
b = 5
print(a == b) # False
print(a != b) # True
print(a < b) # False
print(a > b) # True
print(a <= b) # False
print(a >= b) # True
12-逻辑运算符
“”"
逻辑运算符:
and:与
or:或
not:非
“”"
a = 0
b = 1
c = 2
# 1. and: 与: 都真才真
print((a < b) and (c > b)) # True。为方便阅读,建议加小括号。
print(a > b and c > b) # False
# 2. or:或 : 一真则真,都假才假
print(a < b or c > b) # True
print(a > b or c > b) # True
# 3. not: 非: 取反
print(not False) # True
print(not c > b) # False
# 4. 数字之间的逻辑运算(0相当于False)
# and运算符,只要有⼀个值为0,则结果为0,否则结果为最后⼀个⾮0数字
print(a and b) # 0
print(b and a) # 0
print(a and c) # 0
print(c and a) # 0
print(b and c) # 2
print(c and b) # 1
# or运算符,只有所有值为0结果才为0,否则结果为第⼀个⾮0数字
print(a or b) # 1
print(a or c) # 2
print(b or c) # 1
01-if语句
“”"
2020/02/24
if 条件:
条件成立执行的代码1
…
“”"
if True:
print(‘条件成⽴执⾏的代码1’)
print(‘条件成⽴执⾏的代码2’)
# 下⽅的代码没有缩进到if语句块,所以和if条件⽆关
print(‘我是⽆论条件是否成⽴都要执⾏的代码’)
02-if else 语句
“”"
if 条件:
条件成⽴执⾏的代码1
条件成⽴执⾏的代码2
…
else:
条件不成⽴执⾏的代码1
条件不成⽴执⾏的代码2
…
练习:
系统可以用户输入年龄,用这个年龄做条件判断
步骤:
1. 用户输入
2. 保存用户输入的年龄
3. if
注意:
input接收到的数据是str, 不能和18做判断 – int转换类型
“”"
age = int(input(‘请输入您的年龄:’))
if age >= 18:
print(f’您输入的年龄是{age}, 已经成年,可以上网’)
else:
print(f’您输入的年龄是{age},小朋友,回家写作业去’)
03-if elif else语句
“”"
if 条件1:
条件1成⽴执⾏的代码1
条件1成⽴执⾏的代码2
…
elif 条件2:
条件2成⽴执⾏的代码1
条件2成⽴执⾏的代码2
…
else:
以上条件都不成⽴执⾏执⾏的代码
练习:
如果年龄小于18,为童工,不合法;
如果年龄18-60岁之间,为合法工作年龄
如果年龄大于60为退休年龄
步骤:
1. 用户输入自己的年龄, 保存变量 – str;
2. if做判断 elif
3. 输出提示信息:您输入的年龄是x,合法与否
“”"
age = int(input(‘请输入您的年龄:’))
# 童工
if age < 18:
print(f’您输入的年龄是{age}, 童工’)
# 18-60 合法
elif (age >= 18) and (age <= 60): # 也可以简写成 elif 18 <= age <= 60:
print(f’您输入的年龄是{age}, 合法’)
# 大于60 退休
elif age > 60:
print(f’您输入的年龄是{age}, 退休年龄’)
04-if嵌套
“”"
if 条件1:
条件1成⽴执⾏的代码
条件1成⽴执⾏的代码
if 条件2:
条件2成⽴执⾏的代码
条件2成⽴执⾏的代码
练习:
坐公交,如果有钱可以上车,没有钱,不能上车;如果上车了,判断是否能坐下 – 是否有空座位
步骤:
1. 准备将来要做判断的数据:钱和空座
2. 判断是否有钱:上车 和 不能上车
3. 上车了: 判断是否能坐下: 有空座位 和 无空座位
“”"
# 假设⽤ money = 1 表示有钱, money = 0表示没有钱; seat = 1 表示有空座,seat = 0 表示没有空座
money = 0
seat = 1
if money == 1:
print(‘土豪,请上车’)
# 判断是否能坐下
if seat == 1:
print(‘有空座,坐下了’)
else:
print(‘没有空座,站着等…’)
else:
print(‘朋友,没带钱,跟着跑,跑快点’)
05-随机数和猜拳游戏
“”"
随机数:
导入random模块:
import 模块名
使⽤random模块中的随机整数功能:
random.randint(开始,结束) #包括开始和结束
“”"
import random
# 1. 玩家出拳
player = int(input(‘请出拳:0–石头;1–剪刀;2–布:’))
# 2. 电脑出拳
computer = random.randint(0, 2)
print(computer)
# 3. 判断输赢
# 玩家获胜
if ((player == 0) and (computer == 1)) or ((player == 1) and (computer == 2)) or ((player == 2) and (computer == 0)):
print(‘玩家获胜,哈哈哈哈’)
# 平局
elif player == computer:
print(‘平局,别走,再来一局’)
else:
print(‘电脑获胜’)
06-三目运算符
“”"
三⽬运算符:也叫三元运算符或三元表达式,是简化版的if else语句。
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式
“”"
a = 1
b = 2
c = a if a > b else b
print( c ) # 2
# 需求:有两个变量,比较大小,如果变量1 大于 变量2,执行 变量 1 - 变量2, 否则 变量2 - 变量1
aa = 10
bb = 6
cc = aa - bb if aa > bb else bb - aa
print(cc) # 4
07-随机数复习
import random
print(f’今天复习第{random.randint(1, 3)}天’)