学习Python(3)占位符&循环&break、continue和pass使用

学习Python(3)占位符&循环&break、continue和pass使用

占位符

常用的占位符方法有三种
案例一:

%s 字符数
%d 整数
%f 浮点数
name = '渣渣灰'
age = 50
m = 10.456
print('%s代言了贪玩蓝月,他今年50岁了' % name)
print('%s代言了贪玩蓝月,他今年%d岁了' % (name, age))
print('古天乐身价:%f亿' % m)
print('古天乐身价:%.1f亿' % m)

案例二:
format(): 格式化字符串

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

案例三:
f’’ : python版本3.6以后(推荐使用)

print(f'{name}代言了贪玩蓝月,他今年{age}岁了')

循环

while循环

使用场景:
for: 一般已知遍历次数
while: 一般未知遍历次数

while

语法:

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

案例一:

# 1+2+3+...+100

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

案例二:

# 求1-100之间可以被7整除的数的个数

count = 0  # 计数
i = 1
while i <= 100:
    if i%7 == 0:
        count += 1
    i += 1
print("count:", count)

案例三:

# 计算1到100以内能被7或者3整除但不能同时被这两者整除的数的个数。
count = 0
i = 1
while i <= 100:
    if (i%7==0 or i%3==0) and i%21!=0:
        count += 1
    i += 1
print(count)

案例四:

# 求1000以内的水仙花数:水仙花数:一个三位数各个位上的立方之和,等于本身。
# 例如: 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153
i = 100
while i <= 999:
    a = i//100
    b = i//10%10
    c = i%10
    if a**3 + b**3 + c**3 == i:
        print(i)
    i += 1

死循环

死循环:进入循环之后无法停止

n = 3
while n > 0:
    print(n)

for循环

for-in

语法:

for 变量名 in 序列:
循环体

range([start,]end[,step])
功能:生成具有一定规律的序列
注:[ ]表示start和step可写可不写

start:开始数字
end;结束数字
step;步长
start默认为0,step默认为1 

案例一:

# range(start, stop, step): 范围:[start, stop), 是数字序列, 不是列表
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, 3)))
  # [1, 4, 7, 10]
print(list(range(11, 1, -1)))
  # [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]

案例二:

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

案例三:

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

案例四:

# 计算从1到100以内所有能被3或者17整除的数的和。
s = 0
for i in range(1, 101):
    if i%3==0 or i%17==0:
        s += i
print(s)        

遍历列表

案例一:

stars = ["小a", "小b", "小c", "小d", "小e"]
# 得到列表中的每个元素/数据
for star in stars:
    print(star)
index:下标/索引

案例二:

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

for 循环嵌套

案例一:

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

案例二:

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

案例三:打印九九乘法表

#while实现
line = 1
while line <= 9:
 colum = 1
 while colum <= line:
     print("%dx%d=%d"%(colum,line,line*colum),end=" ")
     colum += 1
 print("")
 line += 1


#for实现
#外层循环:控制行
for i in range(1,10):
 #内层循环:控制列
 for j in range(1,i + 1):
     print(f'{j}*{i}={i*j}', end=' ')
 print()

break、continue和pass使用

break

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

案例一:

# 找1-10中第一个能被3整除的数
for i in range(1, 11):
    if i%3 == 0:
        print(i)
        break
        print("hello")  # 不会执行

案例二:

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

案例三:

#   从键盘输入一个数n,判断是不是一个质数/素数(质数是只能被1和它自身整除的数)
n = 3337
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之后的代码不会执行

案例一:

#  for
for i in range(10):
 	print(i)
 	if i == 3:
     	continue
 	print("*")

for i in range(10):
 	print(i)
 	if i == 3:
     	break
 	print("*")

#总结:continue只是结束当前正在执行的循环,而break表示直接结束整个循环

    
# else可以替代continue
for i in range(1, 11):
    if i%3 == 0:
        pass
    else:
        print(i)

案例二:

#   while
"""
num = 0
while num < 10:
 	print("num = %d"%(num))
 	num += 1
 	if num == 3:
     	continue
"""
num = 0
while num < 10:
 	if num == 3:
     	num += 1
     	continue
 	print("num = %d" % (num))
 	num += 1

pass

Python中的pass是一条空语句

作用:  1. 空语句
	   2. 占位语句
	   3. 保证代码的完整性,防止报错


应用场景:
if,while,for中使用,可以在代码块的部分不添加任何语句,代码正常运行

案例:

while True:
 	pass
print("over")

猜你喜欢

转载自blog.csdn.net/qq_43284558/article/details/107545905