循环结构

循环结构

一、循环结构的应用场景

重复执行

二、for-in循环

1.用for循环实现1~100求和
"""
用for循环实现1~100求和
"""

sum = 0
for x in range(101):
 sum += x
print(sum)

在这里插入图片描述

1.1 rang
range(101)可以产生一个0到100的整数序列
range(1,100)可以产生一个1到99的整数序列
range(1,100,2)可以产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量
2.用for循环实现1~100求偶数和
"""
用for循环实现1~100求偶数和
"""

sum = 0
for x in range(0,101,2):
 sum += x
print(sum)

在这里插入图片描述

2.1 循环加分支结构
"""
用for循环实现1~100求偶数和,分支结构
"""

sum = 0
for x in range(0,101):
 if x%2 ==0:
     sum += x
print(sum)

三、while循环

1.简单的while循环
a=1
while a<10:
 print(a)
 a+=2

在这里插入图片描述

2.带if/else的循环
a=1
while a<7:
    if(a%2 == 0):
        print(a,"is even")
    else:
        print(a,"is odd")
    a+=1

在这里插入图片描述

3.猜数字游戏
"""
猜数字游戏
计算机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出提示大一点/小一点/猜对了
"""

import random
answer = random.randint(1, 100)
counter = 0
while True:
 counter += 1
 number = int(input('请输入: '))
 if number < answer:
 print('大一点')
 elif number > answer:
 print('小一点')
 else:
 print('恭喜你猜对了!')
 break
print('你总共猜了%d次'% counter)
if counter > 7:
 print('你的智商余额明显不足')

在这里插入图片描述

关键词break:提前终止循环

关键词continue:放弃本次循环后续的代码直接让循环进入下一轮
4.九九乘法表
"""
输出乘法口诀表(九九表)
"""

for i in range(1, 10):
 for j in range(1, i + 1):
    print('%d*%d=%d' % (i, j, i * j), end='\t')
 print()

在这里插入图片描述

四、练习

1.输入一个数判断是不是素数
"""
输入一个正整数判断它是不是素数
"""

from math import sqrt
num = int(input('请输入一个正整数: '))
end = int(sqrt(num))
is_prime = True
for x in range(2, end + 1):
 if num % x == 0:
    is_prime = False
 break
if is_prime and num != 1:
 print('%d是素数' % num)
else:
 print('%d不是素数' % num)

在这里插入图片描述

2.输入两个正整数,计算最大公约数和最小公倍数
"""
输入两个正整数 计算最大公约数和最小公倍数
"""

x = int(input('x = '))
y = int(input('y = '))
if x > y:
 x, y = y, x
for factor in range(x, 0, -1):
 if x % factor == 0 and y % factor == 0:
    print('%d和%d的最大公约数是%d' % (x, y, factor))
    print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))
    break

在这里插入图片描述

3.打印三角形图案
"""
打印各种三角形

*
**
***
****
*****

    *
   **
  ***
 ****
*****

    *
   ***
  *****
 *******
*********
"""

row = int(input('请输入行数: '))
for i in range(row):
 for j in range(i + 1):
    print('*', end='')
 print()
print('================')
for i in range(row):
 for j in range(row):
     if j < row - i - 1:
         print(' ', end='')
     else:
        print('*', end='')
 print()
print('================')
for i in range(row):
 for j in range(row - i - 1):
    print(' ', end='')
 for k in range(2 * i + 1):
    print('*', end='')
 print()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值