循环2

346 阅读4分钟

for循环

缩进补充

在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。 #注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量 (默认情况下,一个 Tab 键就表示 4 个空格)。

python 对代码的缩进要求非常严格,同一个级别代码块的缩进量必须一样,否则解释器会报 SyntaxError 异常错误。

pass占位符补充

python3中的pass语句是一个空语句,什么都不做,执行它时什么也没有发生,是一个空操作。 pass语句通常用作占位符(place-holder),即当用户不知道要编写什么代码时,用户只需在那行上放置pass。 在语法上需要有条语句但是确不希望执行任何命令或代码时可以使用pass。用户可以简单地将pass放置在不允许空代码的地方,例如函数定义、类定义(通常用于创建最小类)、循环或if语句中。用户使用pass语句可以避免这个错误。

# i = 0
# while i < 9:
#     pass

while else

语法规则

while条件:
    条件成立重复执行的代码
    else:
        循环正常结束之后要执行的代码

while else 之终止与退出循环

 i = 1
 while i <= 5:
     if i == 3:
         print('错了')
        break
     print('我真的错了')
     i += 1
 else:
     print('好的')

总结:所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况, else下方缩进的代码将不执行。

# i = 1
# while i <= 5:
#     if i == 3:
#         i += 1
#         continue  #当用到continue时,计数器一定要加上,不然会出现死循环
#     print('我错了')
#     i += 1
# else:
#     print('好的')

总结:因为continue是退出当前你一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的 #当循环结束后,则执行了else缩进的代码。

for in 循环'''

Python for 循环可以遍历任何序列的项目目,如一个列表或者一个字符串。** for-in遍历的对象必须是可迭代对象。

语法规则:
for 临时变量 in 待处理数据集:
    重复执行代码

理论上来讲,for循环无法构建无限循环(待处理的数据集不可能无限大) '''可迭代对象 可以从容器中一个一个的拿出我们想要的数据

初始数据类型

数值 字符串 列表 元组 集合 字典

# a = 123
# b = '123'
# c = [1,2,3]
# d = 'heabbbbbjkahgaweugvb'
# for i in c:
#     print(i)

字符串 name = "hello world python i love you"
通过for循环遍历所有的o

# name = "hello world python i love you"
# count = 0
# for i in name:
#     if i == "o":
#         print(i)
#         count += 1
# print(count)
# print(range(1000),type(range(1000))) #默认的起始值 从0开始
# print(list(range(1000))) #list 列表的关键字
# for i in range(0,10,2):
#     print(i)  # 0 1 2 3 4 5 6 7 8 9

range()函数

range(start,end,step)
start:起始值  默认从0开始
end:终止值 左闭右开的范围
step:步长 默认为1 可以更改 只能是整数 不能是小数

1-100之间的偶数

# for i in range(2,101,2):
#     print(i)

for循环的嵌套应用

语法规则

for 临时变量 in 待处理数据集:
    重复执行代码一
    重复执行代码二
    重复执行代码三
   for 临时变量 in 待处理数据集:
        重复执行代码三
        重复执行代码三
        重复执行代码三
# for i in range(1,6):
#     print('道歉!')
# for j in range(5,10): #控制的次数
#     print('对不起!')

for循环和while的嵌套使用

# for i in range(1,6):
#     print(f'第{i}天道歉')
#     j = 1
#     while j <= 5:
#         print(f'这是我第{j}次道歉')
#         j += 1
#     print(f'第{i}次结束')

break和continue

while循环和for循环都是重复性的执行特定的操作,在这个过程中,会出现一些其他情况,让我们不得不 break:终止循环
continue:跳出一次循环 '''

需求是输出1-100的数 遇见7的倍数跳过

# for i in range(1,101):
#     #print(i)
#     if i % 7 == 0:
#         continue
#     print(i)

输入1-100之间的整数 且不是7的倍数 且这个数也不能包含7

for i in range(1,101):
    if i % 7 != 0 and "7"not in str(i):
        print(i)

break

当suv刷完后直接停止,因为后面是跑车

li = ['suv','suv','suv','跑车','跑车','跑车','跑车','跑车']
for i in li:
   if i == "跑车":
       print("碰见跑车了")
       break
   print("正在刷suv。。。")

1-100偶数和

# j = 0
# for k in range(0,101,2):
#     j += k
# print(j)
result = 0
for i in range(1,101):
    if i % 2 == 0:
        result += i
print(result)

求5的阶乘!

5!= 54321

求任意数的阶乘

# j = 1
# num = int(input('请输入一个整数:'))
# for i in range(1,num+1):
#     j *= i
# print(j)

九九乘法表


# for i in range(1,10):
#     for j in range(1,i+1):
#         print(f'{i}*{j}={i*j}',end='\t')
#     print()  #留空行

1,2,3,4组成3位数不重复的

count = 0
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i!=j and i!=k and j!=k:
                print(f'{i}{j}{k}',end=' ')
                count += 1
print(f'一共有{count}个三位数')