DAY5 Python基础 2018-06-15

01-break and continue keyword

02-break 猜数字

03-continue

04-else

05-多重循环


01-break and continue keyword

break 是一个让循环提前结束的关键字
如果在forloop或者whilloop中遇到了break,那么循环就在break 的位置直接结束,直接执行循环后面的语句

forloop and whileloop:
forloop的特点:次数确定,可以在序列中取数据
whileloop:循环次数不确定的

练习:找到1000-9999中的第一个能够被13整除的数

for _ in range(1000,9999):
    print(_)
    if _ % 13 == 0:
        print(_)
        break
print('end forloop with break')
for x in range(1,100):
    if x == 50:
        break
    print(x) # 1,2,3...,49

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

while True:
    num = int(input('Please input number'))  #获取键盘输入的内容,并且转换成整数
    sum1 += num           #将当次输入的数字加起来      #将当次输入的数字加起来
    if num ==0:           #判断输入的数字是否是0,如果是就让循环结束
        break
    print(num)
print('aaa')

注意:break只能写在循环中

02-break 猜数字

猜数字:随机生成一个整数。用户输入的数字,如果用户输入的数字大于这个随机数就提示‘大了’如果用户输入的数小于随机数就提示‘小了’。直到用户输入的数和随机数相等,游戏结束

产生随机数:random模块是python内置 的用来产生随机的数的模块
randint(m,n): 产生一个m到n 的随机整数

import random
n =random.randint(0,100)

count = 0

while True:
    num = int(input('>>>'))
    count +=1
    if num > n:
        print('large')
    elif num < n:
        print('little')
    elif num == n:
        print('right',num)
        if count >7:
            print('loser')
        elif count <3:
            print('talent')
        else:
            print('ordinary')
        break

print('共输入%d次'%(count))

03-continue

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

求1-100中所有奇数的和

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

    sum1 += x
print(sum1)

统计输入的数字中,偶数的个数。如果输入0,就结束。(使用continue)

count = 0
flag = True
while flag:
    num = int(input('input'))   #输入数据
    if num % 2 == 1:
        continue                #判断是否是奇数
    if num == 0:
        break                  #直接跳出循环,不将“0”计入偶数个数
        #flag = False            #会继续执行后续语句,将"0"计入偶数
    count += 1                  #偶数个数加和
print(count)    
print('end===========')

04-else

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

for 变量 in 序列:
    循环体

else:
    循环结束后会执行的语句块

123*...10

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

注意:如果在循环中使用break,那么else语句不会执行!

sum1 = 1
for x in range(1,11):
    if sum1*x >10000:
        break
    sum1 *= x
else:
    #print(sum1,x)
    pass
print(sum1,x)

05-多重循环

在循环体里可以有其他的循环语句

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

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

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

如果 n = 5 打印:
1
12
123
1234
12345

n = 5
# x 控制是第几行
for  x in range(1,n+1):
    # y控制获取当前行里的所有的数值
    for y in range(1,x+1):
        print(y,end='')
    # 一行结束换行
    print()

code 解析
n = 3
x = 1 y = (1)
y = 1 pr(1)pr(\n)
1

x = 2 y = (1,2)
y = 1 pr(1)
y = 2 pr(2)pr(\n)
12

x = 3 y = (1,2,3)
y = 1 pr(1)
y = 2 pr(2)
y = 3 pr(3)pr(\n)
123

value
1
12
123

n = 5:
*****
****
***
**
*

n = 5
for x in range (1,n+1):
    for y in range (1,n+2-x):
        print('*',end='')
    print()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容