Day03

一、格式化输出

  • Python提供了三种格式化输出形式
  • 旧式的输出形式:format方法、f-字符

1、旧式的字符串格式化输出

(1)%d、%s、%f

  • %s代表了字符串占位符、%d代表整型占位符、%f代表浮点占位符
  • 语法:‘string’ % values
  • string中包含了%d、%s、%f,values代表了向sting中传入的值,通过%传入,values需要和sting中的%s、%d、%f一一对应
  • values如果代表多个数据,需要用小括号括起来
  • %f不仅可以用作浮点的占位符,还可以用来在字符串中保留小数位数,%默认保留6位小数
string1 = '圆周率:%f' % 3.1425926
string2 = '圆周率:%.2f' % 3.1425926
print(string1)
print(string2)

(2)format 的用法

  • 语法:‘字符串’,format(value)
  • 字符串中有很多{},{}表示占位符,format将values传入到{}中
name = '张三'
age = 20
edu = '清华大学'
string3 = '{}岁的{}考上了{}'.format(age, name, edu)
print(string3)

(3)F、f-字符串(格式化字符串字面值)

  • 语法:f’字符串’
  • 在字符串前面添加f或F,字符串中有一个或对个{},{}中直接写数据或公式(变量)

二、格式化输出进阶

  • 格式化输出的同时可以修改数据样式

1、千分位符 :,

  • “ : ”表示对传入的数据进行说明,“ :”右边的格式说明的样式
string1 = '账号余额:{:,}'.format(100000000)
print(string1)  # 账号余额:100,000,000

2、对齐方式 <,>,^

  • < , > , ^ 分别代表 左对齐,右对齐,居中对齐
学号:python001、python002、python003....python999
string2 = '学号:python{}'.format(1)
print(string2)
# >3表示将传入的数据右对齐,如果传入数据的长度不满足3,默认使用空格补全
string2 = '学号:python{:>3}'.format(1)
print(string2)
# 0>3表示将传入的数据右对齐,如果传入数据的长度不满足3,使用0补全
string2 = '学号:python{:0>3}'.format(1)
print(string2)

3、保留小数位数 .f

string3 = '数字:{:.4f}'.format(3.1415926)
print(string3)

4、百分比 :%

string4 = '百分比:{:%}'.format(3.1415926)
print(string4)
string4 = '百分比:{:.2%}'.format(3.1415926)
print(string4)

5、f-字符串如何修改传入数据的格式

string5=f'学号:Python{1:0>3}'
print(string5)
string5=f'百分比:Python{1:.2%}'
print(string5)
print(f'账户余额:{10000000:,}')
print(f'账户余额:{10000000.1415926:.4f}')

三、for循环

  • 作用:用来解决重复的事情
  • 如果for循环中变量用不到,仅做循环次数使用,可以使用_代替
  • for循环的次数和容器中元素的个数相关(for循环适合有限次数的循环)
sums = 0
for i in range(1, 101):
    if i % 2 == 0:
        sums += i
print(sums)
  • 语法:
    for 变量 in 容器:
    代码块
  • range()
  • range(start,end,step)用来生成左闭右开的区间的整数,是一个容器,step为步长,默认为1,表示获取元素的间隔
  • 如果step>0,end必须大于start,start可以不写,表示从0开始获取到end
  • start如果写了,表示从start获取到end;步长表示下一次获取那个元素,下一次获取的元素等于本次获取的元素+步长
sums = 0
for i in range(0, 101,5):
        sums +=i
print(sums)
# 1050
  • 如果step<0,end必须小于start,表示从start开始取元素,下一次获取的元素为本次获取的元素加步长
for i in range(10,-5,-2):
    print(i)#遍历
  • 示例:
    range(101),表示获取[0,101)中的整数
    range(1,101),表示获取[1,101)中的整数
    range(1,101,2),表示获取[1,101)中的奇数
    range(100,0,-2),表示获取[100,0)中的偶数,倒序

四、pass关键字

  • pass确保程序结构完整,但是不参与程序的执行
sums = 0
for i in range(1, 101):
    pass
    if i % 2 == 0:
		sums += i
print(sums)

五、嵌套循环

  • Python中循环有for循环和while循环
  • 嵌套循环:for循环和while循环可以相互嵌套
  • 案例:1-5五个数字循环三遍
for x in range(3):
    for i in range(1, 6):
        print(i)

六、while循环

  • for循环适合有限次数的循环,while循环既可以用于有限次数的循环,也可以用于不确定次数的循环
  • 语法:
    while 条件:
    代码块
  • 案例:计算1-100的和
nums = 0
x = 1
while x <= 100:
    nums += x
    x += 1
print(nums)