while循环h和for循环

发布时间 2023-10-20 16:08:26作者: Rubbish雀

while循环

当你需要重复干一件事情的时候,叫做循环

age = 17

while True:
    inp_age = int(input('age:'))
    

    if inp_age > age:
        print('猜大了')
    elif inp_age < age:
        print('猜小了')
    else:
        print('猜对了')
        break
print('结束循环')

while的语法

while(当) <条件>:
    <需要进行重复的代码块>  # 当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件

while用break结束循环的语法

while(当) <条件>:
    <需要进行重复的代码块>  # 当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件
    break  # 遇到break后终止while循环

while用continue跳出循环

count = 0

 while True:
  count += 1

  if count == 5:  #
      continue # 继续,跳出本次循环,不运行下面的代码,直接开始下一次循环

    if count == 11:
        break

    print(count)

while + else(仅做了解)

count = 0

while count < 10:
       count += 1

        if count == 1111111111111:
         break  # break除了干掉while循环,还会干掉else

       print(count)
else:
       print("当while循环没有被break的时候我会触发,但尽量不要使用我")

'''
假设,让你每天8点起来25点睡觉,连续30天,如果中途没有被干掉,奖励你一本书<修仙大法>

break: 跳出本层循环,跳出循环.当你第十天的时候break了,剩下的20天全部减免了

continue:跳出本次循环.当你第十天的时候continue,第十天减免了,但是剩下的天数还得继续

else:当你中途没有被break干掉,一直在修仙,就会得到<修仙大法>
'''

for循环

循环:重复干一件事,循环容器数据类型

lis = ['gebilaowang', 'dapao', 'yongjiushuaige','dsb']
print(len(lis))

count = 0
while True:
    if count == len(lis):
        break
    print(lis[count])
    count += 1

for + break

for i in range(1,11): # 1,2,3,4,5
    print(i)
    if i == 5:
        break  #跳出循环

for + continue

for i in range(1,11): # 1,2,3,4,6,7,8,9,10
    if i == 5:
        continue  #跳出本次循环

    print(i)

for + else

for i in range(1,11): # 1,2,3,4,6,7,8,9,10
    if i == 5:
        break  #跳出本次循环

    print(i)
else:  # 没有被break会触发
    print('hello,你居然运行到了else')
print(list(range(3)))  # 0,1,2
print(list(range(10)))  # 0,1,2..9
print(list(range(2,5)))  # 2,3,4  # 顾头不顾尾
print(list(range(3,6)))  # 3,4,5  # 顾头不顾尾


print(list(range(3,7,3)))  # 3,6  # 顾头不顾尾
print(list(range(1,10,2)))  # 1,3,5,7,9  # 顾头不顾尾

for循环打印99乘法表

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

for循环和循环嵌套打印金字塔

数学公式:

​ 空格数 = max_level-current_level
号数 = 2current_level-1

max_level = int(input("请输入打印层数>>:"))
for i in range(1, max_level+1):
    print(f'{"*" * (2 * i - 1): ^{2 * max_level -1}}')
height = int(input("\033[31m请输入需要打印的层数:"))

for i in range(height):  # 控制金字塔的层数
    # 打印空格
    for j in range(height - i - 1):
        print(" ", end="")

    # 打印星号
    for k in range(2 * i + 1):
        print("*", end="")

    # 换行
    print()

while和for循环的区别

'''

while:
    1. 会进入死循环(不可控),尽量少使用while循环
    2. 世间万物都可以作为循环的对象
for:
    1. 不会进入死循环(可控),以后尽量使用for循环
    2. 只对容器类数据类型+字符串循环(可迭代对象)

'''