一、占位符

a. %s: 字符串占位符

b. %d: 整数占位符

c. %f: 小数占位符

name = "渣渣辉"
age = 50

print("%s代言了贪玩蓝月,他今年50岁了" % name)
print("%s代言了贪玩蓝月,他今年%d岁了" % (name, age))
print("古天乐身价:%f亿" % 10.5)
print("古天乐身价:%.1f亿" % 10.5)   #保留1位小数

d. format():格式化字符串

name = "渣渣辉"
age = 50

print("{}代言了贪玩蓝月,他今年{}岁了" .format(name, age))
print("{a}代言了贪玩蓝月,他今年{b}岁了" .format(b=age, a=name))

e. f’ ’ : 格式化字符串

———Python3.6以后新增的字符串

name = "渣渣辉"
age = 50
print(f"{name}代言了贪玩蓝月,他今年{age}岁了")

二、循环(while & for)

使用场景:
for:一般已知遍历次数,能使用for的就使用for
while:一般是未知遍历次数

a. 用法

初始化表达式
while  条件表达式:
    循环体
    循环之后操作表达式

for  变量名 in 序列:
    循环体

b. range

range(start, end, step) 注:表达范围:[start, stop), 它们是数字序列,不是列表
start:开始数字
end:结束数字
step:步长
start默认为0, step默认为1
作用:生成具有一定规律的序列

"""
l例如:
range(100)    可以生成一个0~99的整数序列【不包含100】
range(1,100)  可以生成一个1~99的整数序列
range(1,100,2)  可以生成一个1~99之间的奇数序列
print(list(range(10)))       #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(1, 11)))     #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(list(range(1, 11, 2)))   #[1, 3, 5, 7, 9]
print(list(range(11, 1, -1)))  #[11, 10, 9, 8, 7, 6, 5, 4, 3, 2]
"""
#需求1:借助于range生成一个1~100之间所有整数的序列,然后使用for循环进行遍历这个序列
for x in range(1,101):
 sum11 += x

#需求2:计算1~100之间所有偶数的和
num2 = 1
sum2 = 0
while num2 <= 100:
 if num2 % 2 == 0:
     sum2 += num2
 num2 += 1

num2 = 0
sum2 = 0
while num2 <= 100:
 sum2 += num2
 num2 += 2

sum22 = 0
for y in range(0,101,2):
 sum22 += y

c. while循环

while:字义是,当。执行中,它会一直判定,除非条件为假时才会终止。

# 1.求和:1+2+3+4+...+100
s = 0  # 求和
i = 1   #循环的初始值
while i <= 100:    # 循环条件
  #  print(i)
    s = s + i
    i = i + 1    # 循环改变量
print(s)    # 5050
# while语句执行过程:
# 第1次循环: 循环前:s=0;i=1; 条件1<=100成立; 循环后:i=2;s=0+1
# 第2次循环: 循环前:i=2;s=0+1; 条件1<=100成立; 循环后:i=3;s=0+1+2
# 第3次循环: 循环前:i=3;s=0+1+2; 条件1<=100成立; 循环后:i=4;s=0+1+2+3
# ...
# 第100次循环: 循环前:i=100;s=0+1..+98+99; 条件1<=100成立; 循环后:i=100;s=0+1+2..+99+100
# 第101次循环: 循环前:i=101;s=0+1..+100; 条件1<=100不成立; 循环后:i=101;s=0+1+2..+99+100 退出

# 2.求1-100之间可以被7整除的数的个数
count = 0    # 计数
i = 1
while i <= 100:
    if i%7 == 0:
       # print(i)
        count += 1
    i += 1
print("count:", count)

# 3.计算从1到100以内所有奇数的和。
s = 0
i = 1
while i <= 100:
    if i%2:
       s += i
    i += 1
print(s)
# 4.计算从1到100以内所有能被3或者17整除的数的和。
s = 0
i = 1
while i <= 100:
    if i%3 == 0 or i%17 == 0:
        s += i
    i += 1
print(s)

d. for循环

for-in:

# 求和:1+2+3...+100
s = 0
for i in range(1, 101):
    s += i
print(s)

# 遍历列表:把每一个都执行一遍
stars = ["11", "22", "33", "44"]   # 得到列表中的每个元素/数据
for star in stars:
    print(star)
for stas in stars:
    print(star)

# 得到列表中的每个下标:从0开始
# range(len(stars)): => range(5) => 0,1,2,3,4,
for i in range(len(stars)):   # len(stars):列表长度/元素个数
    print(i, stars[i])

# 求1-100之间可以被7整除的数的个数
count = 0
for i in range(1, 101):
    if i%7 == 0:
        count += 1
print(count)

# 计算从1到100以内所有奇数的和。
s = 0
for i in range(1, 101):
    if i%2==1:
        s += i
print(s)

for循环嵌套:

# 打印下面的图案
'''
*
**
***
****
*****
'''
for i in range(5): # 0,1,2,3,4
    for j in range(i+1):
        print("*", end="")
    print()

# 例如:打印九九乘法表
'''
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
... 
'''
for i in range(1, 10):
    for j in range(1, i+1):      # j=1,...i
        print(f'{j}*{i}={i*j}' , end=' ')
    print()

e. break, continue & pass

作用:
1、存在于循环中:while,for
2、跳出当层循环中
3、break后的代码不执行
4、和for-else,while-else结合使用

break:

# 找1-10中的第一个能被3整除的数
for i in range(1, 11)
	if i%3==0:
		print(i)
		break   #跳出循环

for i in range(1, 5):
	for j in range(1, 5):
		if j == 2:
			break   #只会跳出最里层的循环
		print(i, j)

for-else语句
1、需要结合break使用;
2、只要不执行break,则会执行else,只要执行了break,就不会执行else。

# 1.从键盘输入一个数n,判断是不是一个质数/素数(质数是只能被1和它自身整除的数)
# 方式一:
n = 77
for i in range(2, n):
    if n%i == 0:
        print(n, "不是素数")
        break
else:
    print(n, "是素数")

n = int(input("请输入一个数:"))
for i in range(2, n):
    if n%i ==0:
        print(n, "不是素数")
        break
else:
    print(n, "是素数")

#方式二:
n = 3337
flag = True    # 假设是素数
for i in range(2, n):
    if n%i == 0:
        print(n, "不是素数")
        flag = False  #变成不是素数
        break
if flag:
    print(n,"是素数")

continue:
1、停止当次循环,直接进入下一次循环。
2、在循环中使用
3、continue之后的代码不会执行
4、else可以替代continue

for i in range(1, 11):
    if i%3 == 0:
        continue
    print(i)

pass:
1、是一个空语句。
2、是站位语句,无任何语义
3、保证代码的完整性,防止报错

for i in range(1, 11):
    if i%3 == 0:
        pass
    print(i)