概括昨日所学的知识点
- 运算符
- 算术运算符 (+ - * /、 //、 **、 %)
- 比较运算符 (> < >= <= == !=)
- 逻辑运算符 (and or not)
- 赋值运算符 (+= -= *= /= //= **= %=)
- 复合赋值运算符
- 运算符优先级 (算术 > 比较 > 逻辑 >赋值)
- 简单的数据类型转换
- 分支结构
- if、else、elif
- 单分支结构
- 多分支结构
- 嵌套分支结构
- 三目运算符
一、格式化输出
字符串的特殊性:放入引号中的符号代表其本身
num = 10
print('num')
输出的结果为:num
python提供了三种格式化输出形式:旧式的字符串输出、format方法、f-字符串 (格式化字符串字面值)
1.旧式的字符串格式化输:%s、%d、%f等
- %s代表字符串占位符,%d代表整型占位符,%f浮点型占位符
语法:‘string’ % values
- string中包含了%s、%d、%f,values代表向string中传入的值,通过%传入,values需要和string中的%s、%d、%f一一对应。
注:values如果代表多个数据,需要使用小括号扩起来。
示例:
name = '张三'
age = 20
print(age, '岁的', name, '考上了清华大学')
print('%d岁的%s考上了清华大学' % (age, name))
输出的结果:
string1 = '圆周率: %f' % 3.1415926
string2 = '圆周率: %.4f' % 3.1415926
print(string1)
print(string2)
输出的结果:
练习:假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,
多少分钟,多少秒;以‘XX时XX分XX秒’的⽅式表示出来。
例如:100秒表示成**0时1分40秒
**
seconds = 100
h = seconds // 3600
m = (seconds - h * 3600) // 60
s = seconds - h * 3600 - 60 * m
print(h, '时', m, '分', s, '秒')
# 结果:0时1分40秒
2、format的用法
使用的语法:’字符串‘.format(values)
字符串中有很多个{},{}表示占位符,format将values传入到{}中
用法示例:
name = '张三'
age = 20
edu = '清华大学'
string3 = '{}岁的{}考上了{}'.format(age,'张三',edu)
print(string3)
输出结果为:
3.f-字符串(格式化字符串字面值)
使用的语法:f’字符串’
在字符串前面添加f或者F,字符串中有一个或多个{},{}中直接写数据或公式(变量)
用法示例:
name = '张三'
age = 20
edu = '清华大学'
string4 = f'{age}岁的{name}考上了{edu}'
print(string4)
二、进阶的格式化输出
1.千分位符 ——
符号冒号:表示对传入的数据进行说明,冒号:右边的格式表示说明的样式。
string1 = '账户余额: {:,}'.format(1000000000)
print(string1)
2.左对齐,右对齐,居中对齐 —— <、>、^
学号: python001、python002、……python999
# >3表示将传入的数据右对齐,如果传入数据的长度不满足3,默认使用空格补全。
# 0>3表示将传入的数据右对齐,如果传入数据的长度不满足3,使用0补全。
string2 = '学号:python{:>3}'.format(1)
string3 = '学号:python{:0>3}'.format(1)
print(string3)
3.保留小数位数
string3 = '数字: {:.2f}'.format(3.1415926)
print(string3)
4.百分比 —— %
string4 = '百分比:{:%}'.format(3.1415926)
print(string4)
四个格式化输出的结果:
三、for循环
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
for循环的一般格式如下:
for <variable> in <sequence>:
<statements>
else:
<statements>
循环的作用:就是用来解决重复的事情。
# for循环的语法
'''
语法:
for 变量 in 容器:
代码块
'''
for循环流程图:
sum1 = 0
for i in range(1, 101): # range()用来生成指定左闭右开区间中的整数,是一个容器
sum1 += i
print(sum1)
输出结果为:5050
range()函数
-
range(start,end,step)用来生成[start,end)中的整数,是一个容器,step为步长,默认为1,表示获取元素的间隔。
1.range(101):表示获取[0,101)中的整数
2.range(1,101):表示获取[1,101)中的奇数
3.range(1,101,2):表示获取[1,101)中的奇数
4.range(100,0,-2):表示获取[100,0)中的所有偶数
-
如果step>0, end必须大于start,start可以不写,表示从0开始取,获得到end。
-
start如果写了,表示从start获得到end;步长表示下一次获取那个元素,下一次获取的元素等于本次获取的元素 + 步长。
for i in range(101):
print(i)
for i in range(98,101):
print(i)
for i in range(50,100,5):
print(i)
练习:计算100以内5的倍数的和(使用步长)
a =0
b= range(0,101,5)
for i in b:
a += i
print(a)
结果为:1050
# sum():计算数字容器中所有数字的和
print(sum(range(0, 101, 5)))
练习:使用for循环找出100以内所有的4的倍数并求和
numSum2 = 0
for i in range(101):
if i % 4 == 0:
numSum2 += i
print(numSum2)
结果为1300
- 如果stet<0, end必须小于start,表示从start开始取元素,下一次获取的元素为本次获取的元素 + 步长。
for i in range(10,-5,-2):
print(i)
- 注:for循坏的次数和容器中元素的个数相关(for循坏适合有限次次数的循环)。
四、while循环
前面说到for循坏适合有限次数的循环,而while循环既可以用于有限次数的循环,也可以用于不确定次数的循环。
# 语法
'''
while循环语法:
while 条件:
代码块
'''
案例:用while循环计算1-100的和
i = 1
while i <= 100:
numSum += i
i += 1
print(numSum)
练习:使用while循环找出100以内所有的4的倍数并求和
numSum3 = 0
i = 0
while i <= 100:
numSum3 += i
i += 4
print(numSum3)
结果为1300
五、嵌套循环
在python中循环分为for循环和while循环。
嵌套循环:for循环和while循环可以相互嵌套。
案例:1-5五个数字循环三遍
# 如果for循环中变量用不到,仅做循环次数使用时,可以用_代替变量
for _ in range(3):
for i in range(1, 6):
print(i)
练习:使用循坏打印九九乘法表中的公式
or index in range(1,10): #控制行
for column in range(1,index + 1): #控制列
print(f'{index} * {column} = {index * column:<4}',end='')
print()
输出的结果如下:
作者第三天所学就到这,下来就多做做题,熟悉循环用法!