Python的两种循环结构和break与continue,Python 打印三角形,猴子吃桃,打印九九乘法表

        在所有的循环中应当避免死循环的出现。死循环:条件始终为真的循环称为死循环在循环语句中,表达式永远为真,致循环持续执行程序无法终止。在开发的时候,死循环带来的麻烦是最直观最大的。

一. while循环

while循环的框架:

设置初始条件

while(判断是否达到了条件,达到了一直执行,没有达到就退出循环):

        条件满足的时候执行的条件

        改变判断条件(一般是计数器加一减一的操作)

冒号不要省略

while循环计算 1+2+...+100

# 利用循环计算 1+2+...+20 的和
num = 1
sum = 0

while num <= 100:
    sum += num
    num += 1
    
print(sum)
"""
运行结果:
5050
"""

while 循环计算阶乘的和

# 利用while循环 计算阶乘的和
num = 1
num0 = 1
num1 = int(input("请输入:"))
sum = 1
result = 0

while num <= num1:
    while num0 <= num:
        sum *= num0
        num0 += 1
    num0 = 1
    num += 1
    result += sum
    sum = 1
print("从1到 %d 阶乘的和为: %d" % (num-1,result))
"""
运行结果:
请输入:10
从1到 10 阶乘的和为: 4037913

"""

二 . for...in...循环

        for ... in ...循环的框架

for 自定义变量 in range(n):

        下级代码

冒号不要省略

range(n):代表执行了n次,range是一个数列

 for...in... 从1输出到100.

# 利用for...in...循环输出从1至100

# 自定义变量默认从 0 开始
for num in range(101):
    print(num)

# 自定义变量可以通过设置来控制入点和出点
for num in range(10,101):
    print(num)

 for...in... 计算阶乘

# 利用for...in...循环 计算阶乘

num = int(input("请输入:"))
sum = 1

for i in range(num):
    sum *= i+1
print(sum)
"""
运行结果:

请输入:5
120
"""

for...in... 计算阶乘的和

# 利用for...in...循环 计算阶乘
# 注意 range(n) ,range 中的 n 是取不到,只能到 n-1

num = int(input("请输入:"))
sum = 1
result = 0

for i in range(num):
    for j in range(i+1):
        sum *= j+1
    result += sum
    sum = 1

print("从1到 %d 阶乘的和为: %d" % (num,result))
"""
运行结果:
请输入:10
从1到 10 阶乘的和为: 4037913

"""

三. 循环中的 break

        作用:退出循环。

        在循环过程中,如果 某一个条件满足后,不再希望 循环继续执行可以使用 break 退出循环。

        注意:只能跳出距离最近的for或者while循环

break 跳出 while 循环

# break 跳出 while 循环
while True:
    print("*********循环中**********")
    str = input("请输入1024:")
    if str == "1024":
        break

"""
运行结果:
*********循环中**********
请输入1024:1
*********循环中**********
请输入1024:str
*********循环中**********
请输入1024:1024

"""

break 跳出 for...in... 循环

# break 跳出 for...in...循环
num = int(input("请输入[-10,10]的整数:"))

for i in range(-10,10):
    if i < num:
        print("i进行加一,i现在是:%d" % i)
        i += 1
    elif i > num:
        print("i进行减一,i现在是:%d" % i)
        i -= 1
    else:
        print("i等于num")
        break


"""
运行结果:
请输入[-10,10]的整数:5
i进行加一,i现在是:-10
i进行加一,i现在是:-9
i进行加一,i现在是:-8
i进行加一,i现在是:-7
i进行加一,i现在是:-6
i进行加一,i现在是:-5
i进行加一,i现在是:-4
i进行加一,i现在是:-3
i进行加一,i现在是:-2
i进行加一,i现在是:-1
i进行加一,i现在是:0
i进行加一,i现在是:1
i进行加一,i现在是:2
i进行加一,i现在是:3
i进行加一,i现在是:4
i等于num

"""

判断是否为质数

        质数是除了1和本身以外除以任何数余数都为0的正整数,1就不是质数也不是合数。

for...in...方法

# 判断是否是质数
num = int(input("输入正整数:"))
for i in range(1,num+1):
    if num == 1:
        print("1既不是质数也不是合数")
        break
    else:
        if num % i == 0 and i != 1 and i != num:
            print("%d 是合数" % num)
            break
        else:
            if i == num:
                print("%d 是质数" % num)
                break


"""
运行结果:
输入正整数:1
1既不是质数也不是合数

输入正整数:4
4 是合数

输入正整数:7
7 是质数
"""

while 方法

        flag 标志属性,是我自定义的。

# 判断是否是质数
num = int(input("输入正整数:"))
i = 2
flag = 0
if num != 1:
    while i < num:
        if num % i == 0:
            print("%d 是合数" % num)
            flag = 1
            break
        i += 1
else:
    print("1既不是质数也不是合数")
    flag = 1

if flag == 0:
    print("%d 是质数" % num)

"""
运行结果:
输入正整数:1
1既不是质数也不是合数

输入正整数:4
4 是合数

输入正整数:7
7 是质数
"""

四. 循环中的 continue

        作用:跳过本次循环后面的剩余语句,然后继续下一次循环

        注意:只能跳过距离最近的for或者while循环

# 禁止输出数字 5
for i in range(1,10):
    if i == 5:
        continue
    else:
        print(i,end=" ")

j = 1
while j < 10:
    if j == 5:
        j += 1
        continue
    else:
        print(j,end=" ")
    j += 1
"""
运行结果:
1 2 3 4 6 7 8 9 1 2 3 4 6 7 8 9 
"""

五.Python中的小游戏 

1. 打印三角形

        输入正整数打印三角形。

方法1:

n = int(input("请输入正整数:"))

for i in range(n):
    for j in range(n-i-1):
        print(" ",end="")
    for k in range(2*i+1):
        print("*",end="")
    print()


输入数字:7

输出结果:

请输入正整数:7
      *
     ***
    *****
   *******
  *********
 ***********
*************

方法2

n = int(input("请输入正整数:"))

for i in range(n):
    print(" "*(n-i-1) + "*"*(2*i+1))

输入数字:7

输出结果:

请输入正整数:7
      *
     ***
    *****
   *******
  *********
 ***********
*************

2. 猴子吃桃

       一只小猴买了若干个桃子,第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个第二天他也刚好吃了剩余桃子的一半,贪嘴多吃了一个第三天他又刚好吃了剩下的桃子的一半,并贪嘴多吃了一个第四天起来一看,发现桃子只剩下一请问小猴买了几个桃子?

sum = 1
for i in range(3):
    sum = (sum+1)*2
print(sum)

输出结果:22

3. 九九乘法表

for num1 in range(1,10):
    for num2 in range(num1):
        print("%d * %d = %d" % (num2+1,num1,num1*(num2+1)),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  
1 * 5 = 5  2 * 5 = 10  3 * 5 = 15  4 * 5 = 20  5 * 5 = 25  
1 * 6 = 6  2 * 6 = 12  3 * 6 = 18  4 * 6 = 24  5 * 6 = 30  6 * 6 = 36  
1 * 7 = 7  2 * 7 = 14  3 * 7 = 21  4 * 7 = 28  5 * 7 = 35  6 * 7 = 42  7 * 7 = 49  
1 * 8 = 8  2 * 8 = 16  3 * 8 = 24  4 * 8 = 32  5 * 8 = 40  6 * 8 = 48  7 * 8 = 56  8 * 8 = 64  
1 * 9 = 9  2 * 9 = 18  3 * 9 = 27  4 * 9 = 36  5 * 9 = 45  6 * 9 = 54  7 * 9 = 63  8 * 9 = 72  9 * 9 = 81  


好好吃饭

好好睡觉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值