格式化输出
# 字符串的特殊性:放入引号中的符号代表其本身
num = 10
print('num')
# python提供了三种格式化输出形式:
# 旧式的字符串格式化输出、format方法、f-字符串(格式化字符串字面值)
# 一、旧式的字符串格式化输出:%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))
# %f不仅可以用作浮点型占位符,还可以用来在字符串中保留小数位数
# %f默认保留6位小数,%.Nf保留N位小数
string1 = '圆周率:%f' % 3.1415926
string2 = '圆周率:%.2f' % 3.1415926
# format的用法
# 语法:'字符串'.format(values)
# 字符串中有很多个{},{}表示占位符,format将values传入到{}中
name = '张三'
age = 20
edu = '清华大学'
string3 = '{}岁的{}考上了{}'.format(age, name, edu)
print(string3)
# 三、f-字符串(格式化字符串字面值) <优选>
# 语法:f'字符串'
# 在字符串前面添加f或F,字符串中有一个或多个{},{}中直接写数据或公式(变量)
name = '张三'
age = 20
edu = '清华大学'
string4 = f'{age}岁的{name}考上了{edu}'
print(string4)
格式化输出进阶
# 格式化输出
# 格式化输出的同时也可以修改数据的样式
# 1.千分位符 —— ,
# :表示对传入的数据进行说明,:右边的格式表示说明的样式
string1 = '账号余额:{:,}'.format(100000000)
print(string1)
# 2.左对齐,右对齐,居中对齐 —— <、>、^
# 学号:Python001、Python002、……Python999
# >3表示将传入的数据右对齐,如果传入数据的长度不满足3,默认使用空格补全。
# 0>3表示将传入的数据右对齐,如果传入数据的长度不满足3,使用0补全
string2 = '学号:Python{:>3}'.format(1)
string2 = '学号:Python{:0>3}'.format(1)
print(string2)
# 3.保留小数位数
string3 = '数字:{:.4f}'.format(3.1415926)
print(string3)
# 4.百分比 —— %
string4 = '百分比:{:.2%}'.format(3.1415926)
print(string4)
# f-字符串如何修改传入数据的格式
string5 = f'学号:Python{1:0>3}'
print(string5)
for循环
# 循环
# 作用:用来解决重复的事情
# 案例:计算1-100的和
# range()用来生成指定左闭右开区间中的整数,是一个容器
sum1 = 0
for i in range(1, 101):
# print(i)
sum1 += i
print(sum1)
"""
语法:
for 变量 in 容器:
代码块
"""
# 二、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)中的所有偶数。
# A.如果step>0,end必须大于start,start可以不写,表示从0开始取,获取到end;
# start如果写了,表示从start获取到end;步长表示下一次获取那个元素,下一次获取的元素等于
# 本次获取的元素 + 步长。
for i in range(101):
print(i)
for i in range(99, 102):
print(i)
for i in range(50, 100, 5):
print(i)
# 练习:计算100以内5的倍数的和(使用步长计算)
numSum = 0
for i in range(0, 101, 5):
numSum += i
print(numSum)
# sum():计算数字容器中所有数字的和
print(sum(range(0, 101, 5)))
# B.如果step<0,end必须小于start,表示从start开始取元素,下一次获取的元素为本次获取的元素加步长
for i in range(10, -5, -2):
print(i)
# for循环的次数和容器中元素的个数相关(for循环适合有限次数的循环)。
pass关键字
numSum = 0
for i in range(1, 101):
# numSum += i
# pass的作用保证程序结构的完整性,但是不参与程序的执行。
pass
print(i)
print(numSum)
嵌套循环
# Python中循环分为for循环和while循环。
# 嵌套循环:for循环和while循环可以相互嵌套。
# 案例:1-5五个数字循环三遍。
# 如果for循环中变量用不到,仅做循环次数使用,可以使用_代替变量
for _ in range(3):
for i in range(1, 6):
print(i)
# 练习:使用循环打印九九乘法表中的公式
# 控制行
for index in range(1, 10):
# 控制列
for column in range(1, index + 1):
print(f'{index} * {column} = {index * column:<4}', end='')
print()
while循环
# for循环适合有限次数的循环。
# while循环既可以用于有限次数的循环,也可以用于不确定次数的循环。
"""
while循环语法:
while 条件:
代码块
"""
# 案例:计算1-100的和
numSum = 0
i = 1
while i <= 100:
numSum += i
i += 1
print(numSum)
# 练习:分别使用for循环和while循环找出100以内所有的4的倍数并求和
numSum1 = 0
for i in range(0, 101, 4):
numSum1 += i
print('----------------------')
numSum2 = 0
for i in range(101):
if i % 4 == 0:
numSum2 += i
print('----------------------')
numSum3 = 0
i = 0
while i <= 100:
numSum3 += i
i += 4
print('----------------------')
numSum4 = 0
i = 0
while i <= 100:
if i % 4 == 0:
numSum4 += i
i += 1