Python学习总结【连载】(四)

Python学习总结【连载】(四)

2018.06.15 Juttachen


概述

+ 14 break

  • 概念与使用
  • 用while和break实现用户输入程序

+ 15 continue

  • 概念与使用

+ 16 else

+ 17 多重循环

  • 格式与执行过程

十四、break

1. 概念与使用

break是一个让循环提前结束的关键字,如果在for循环或者while循环中遇到了break,那么循环就在break的位置直接结束。结束后程序执行循环后面的代码。
练习:找到1000-9999中的第一个能够被13整除的数(打印)

    for x in range(1000,10000):
        print(x)
        if x % 13 == 0:
            print(x)
            break

    print('循环结束后')

练习:打印1到49

    for x in range(1,100):
        if x == 50:
            break #在这个地方结束循环,直接跳出循环执行后面的语句
        print(x) #1,2 ,3...49

大练习
判断101-200之间有多少个素数,并输出所有素数。

     # 第一个循环将 101-200中的所有的数取出来。
     num = 0
    for x in range(101,201):
# x = (101~200),拿到x后,判断2~x-1中有没有一个数可以被x整除。如果2~x-1中没有一个能被x整除
# 就说明x是素数,只要有一个被x整除,x就不是素数。
count = 0 #统计2~x-1中能够被x整除的数的个数
for y in range(2,x):
    if x % y == 0:
        # 说明不是素数
        print(x,'不是素数')
        count += 1
        break
    if count == 0:
        print(x,'是素数')
        num += 1

    print(num)

2. 用while和break实现用户输入程序

用while循环实现:不断的让用户去输入数字,直到用户输入的数字为0为止。最后在打印之前输入的数的和。
注意:input函数:程序执行到input函数的时候,程序就会停下来,等待用户从键盘输入并且以回车结束,然后才会往下执行。

    sum1 = 0
    while True: # 如果不知道用户会输入多少次,就把循环定为死循环,这样才能做到用户一直输入。
        num = int(input(">>>")) #获取键盘输入的内容,并且转换成int类型
        sum1 += num   #将当前输入的数字加起来
        if num == 0:  #判断输入的数字是否是0,如果是就让循环结束
            break
        print(num)

    print(sum1)

注意:break只能写在循环中

例子:
猜数字:随机生成一个整数,用户输入数字。如果用户输入的数字大于这个随机数就提示:“大了”,如果用户输入的数小于随机数就提示“小”了。知道用户输入的数和随机数的大小一样,游戏就结束。

产生随机数:random模块是python内置的用来生成随机数的模块,里面提供了很多产生随机数的函数
randint(m,n):产生一个m到n的随机整数

    import random
    num = random.randint(0,100) #产生一个1~100的随机数
    count = 0
    while True:
        num1 = int(input(">>>"))
        if num1 > num:
            print("大了")
            count += 1
        elif num1 < num:
            print("小了")
            count += 1
        else:
            break
    print(count)

for循环和while循环的选择:
for循环的特点:次数有限且确定,可以在序列中取数据。
while循环的特点:很灵活,可以解决循环次数不确定的。

十五、continue

- 概念与使用

continue: 结束当次循环,进入下次循环。
例子

    for x in range(1,10):
        print("=")
        continue  #遇到continue就不再执行循环体后面的内容,直接进入下一次循环的判断
        print(x)

求1~100中所有奇数的和

    sum1 = 0
    for x in range(1,101):
        if x % 2 == 0:
            continue
        sum1 += x

打印100到999中除了十位为三的数

    for x in range(100,1000):
        if x // 10 % 10 == 3:
            continue
        print(x)

统计输入的数字中,偶数的个数。如果输入0,就结束。

    sum1 = 0
    while True:
        # 输入数据
        inputValue = int(input('>>>'))

        # 判断是否是奇数
        if inputValue % 2 != 0:
            continue
        elif inputValue == 0:
            break
        # 偶数个数相加
        sum1 += 1

    print(sum1) 

十六、else

python中循环语句后面可以加else语句。这个else语句会在循环结束后执行。

    for 变量 in 序列:
        循环体
    else:
        循环结束后会执行的语句块

例子:1乘到10

    sum1 = 1
    for x in range(1,11):
        sum1 *= x
        print(x)
    else:
        print(sum1)

注意:如果在循环中使用break,那么else预计不会执行!
例子:一到十相乘,当乘积大于一万就不再继续乘

    sum1 = 1
    for x in range(1,11):
        #!!!在给sum1赋值前先判断乘的结果是否大于10000
        if sum1 * x > 10000:
            break
        #只有在乘积不大于10000的时候才去乘积去赋值
        sum1 *= x
    else: #循环中如果执行了break(continue不会有这个问题),这个时候else是不会执行的
        print(sum1)

十七、 多重循环

1.格式与执行过程

在循环体里面可以其他的循环语句.
格式:

    for 变量 in 序列:
        for 变量1 in 序列2:
                循环体2
        其他的循环语句

    for 变量 in 序列:
        其他的循环语句
        while 条件语句:
            循环体2
        其他的循环语句2

    while 条件语句1:
        其他的循环语句
        while条件语句2:
            循环体2
        其他的循环语句2

例子:
如果 n=5,打印:
1
1+2
1+2+3
1+2+3+4
1+2+3+4+5

    #x控制是第几行
    #y控制获取当前行里所有的数值
    #外循环控制行数,内循环控制列数

    n = 3
    for x in range(1,n+1):
        for y in range(1,x+1):
            print(y,end ='')
        print()

你可能感兴趣的:(Python学习总结【连载】(四))