day4总结(循环)

day4总结

for

python中的循环结构有两种:for循环、while循环

  1. for循环
    a.语法
    '''
    for 变量名 in 序列:
    循环体
    '''
    b.说明:
    '''
    for - 关键字,固定
    变量名 - 和声明变量的时候的变量名要求一样
    in - 关键字,固定写法
    序列 - Python中的序列有:字符串、列表、元祖、集合、字典、range、生成器和迭代器
    : - 固定写法
    循环体 - 和for保持一个缩进的一条或多条语句
    '''
    c.执行过程
    当程序执行到for循环的时候:让变量去序列中取值,取完为止,每取一个值,执行一次循环体
    '''
    a = 'a' print(a) print('===')
    a = 'b' print(a) print('===')
    '''
for a in 'abcdef':
    print(a)
    print('===')
  1. range函数
    range(N) - N是正整数,产生0~N-1的所有整数
for num in range(10):
    print(num)

range(M,N) - M,N都是整数,并且N>M,产生M~N-1的所有整数

for num in range(100,1000):
    print(num)

range(M,N,S) - M,N,S都是整数,产生M~N-1,每次加S来产生下一个数

for num in range(0,101,3):
    print('===',num)

注意:xrange是Python2.x中的语法,Python3.x无效
练习:计算1+2+3+...+100的值

sum1 = 0  #保存和
for num in range(1,5):
    sum1 = sum1 + num
print(sum1)

'''
sum1 = 0
num = (1,2,3,4)
num = 1 sum1 = sum1+num, sum1 = 0 + 1 = 1
num = 2 sum1 = sum1+num, sum1 = 1 + 2
num = 3 sum1 = sum1+num, sum1 = 1+2+3
num = 4 sum1 = sum1+num, sum1 = 1+2+3+4=10
print(sum1) 10
'''
练习:计算2468...*20的结果

sum2 = 1
for num in range(2,21,2):
    sum2 = sum2 * num
print(sum2)

练习:计算0~100中所有能被3或者5整除的数的和

sum3 = 0
for num in range(0,101):
    if num % 3 == 0 or num % 5 ==0:
        sum3 += num
print(sum3)

while

  1. while循环
    a.语法
    '''
    while 条件语句:
    循环体
    '''
    b.说明
    '''
    while - 关键字,固定写法
    条件语句 - 可以是数据、变量、运算表达式等,不能是赋值运算
    : - 固定写法
    循环体 - 和while保持一个缩进的一条或多条语句(会被重复执行)
    '''
    c.执行过程:
    '''
    先判断条件语句是否为True,为True就执行一次循环体,
    执行完循环体再判断条件语句是否为True,为True又执行一次循环体,
    执行完循环体再判断条件语句是否为True,为True又执行一次循环体,
    以此类推,直到判断条件语句结果为False,整个循环直接结束。
    两个极端:1.当条件语句永远为True,会造成死循环现象
    2.一开始条件语句的结果就是False,那么循环一次都不会执行
    '''
    练习:用while循环控制程序打印10行'==='
count = 0
while count<4:
    print('===')
    count+=1
print(count)

'''
count = 0
count < 4 0 < 4 True print('===') count += 1 count = 0 + 1
count < 4 1 < 4 True print('===') count += 1 count = 1 + 1 = 2
count < 4 2 < 4 True print('===') count += 1 count = 2 + 1 = 3
count < 4 3 < 4 True print('===') count += 1 count = 3 + 1 = 4
count < 4 4 < 4 False
print(count) print(4)
'''
练习1:使用while循环打印0~10

count1 = 0
while count1 < 11:
    print(count1)
    count1 += 1

练习2:使用while循环打印20~11

count2 = 20
while count2 > 10:
    print(count2)
    count2 -= 1

练习3:使用while循环打印2,4,6,8...40

count3 = 2
while count3 < 41:
    print(count3)
    count3 += 2

求2+4+6+...+40

sum = 0
count3 = 2
while count3 < 41:
    sum += count3
    count3 += 2
print(sum)

练习:不断输入,直到输入的值是100为止

num =  int(input('请输入数字:')) #也可以给num赋一个不是100的值
while num != 100:
    num = int(input('不对,请重新输入:'))
print('猜对了!结束')
  1. 补充:随机数
    导入random模块,random是Python中内置的一个专门用来产生和处理随机数的模块
    randint(M,N) - 产生M~N的随机数,要求M,N都是整数,并且N>M
import random
random_num = random.randint(0,10)
print('随机数',random_num)

练习:猜数字游戏
让机器随机产生一个数,手动输入一个数与随机数比较,相同则游戏获胜
要有提示功能,提示输入的数与随机数相比是偏大还是偏小
增加功能:统计玩家猜了多少次,然后根据次数范围给相应的评价

import random
random_num = random.randint(0,100)
result = int(input('请输入一个数:'))
count = 1 #记录次数,因为前面已经输入了一次
while result != random_num:
    count += 1
    if result > random_num:
        print('偏大了')
    else:
        print('偏小了')
    result = int(input('请重新输入:'))
print('恭喜你猜对了',random_num)
print('猜的次数:',count)
if count < 2:
    print('天才!')
elif 2<=count<=7:
    print('智商正常')
else:
    print('你是个憨憨吧?')
  1. for循环和while循环的选择
    a.遍历(一个一个的取)序列元素用for循环
    b.循环次数确定的时候红for循环
    c.死循环和循环次数不确定的时候用while循环

continueBreakElse

  1. continue
    用法:continue是关键字,只能出现在循环体中
    功能:执行循环体的时候,如果遇到continue,就直接结束档次循环,直接进入下次循环的判断
for x in range(10):
    if x % 3 == 0:
        continue
    print(x)
    continue
    print('===')
  1. break
    用法:break是关键字,只能出现在循环体
    功能:执行循环体的时候,如果遇到break,整个循环直接结束
for x in range(10):
    print(x)
    break
    print('!!!')
print('结束')

从0+1+2+3+...+n,求看到什么时候和超过1000000,求出这个数

sum1 = 0
n = 1
while True:
    sum1 += n
    if sum1 > 1000000:
        break
    n += 1
print(n,sum1,sum1-n)
  1. else
    a.语法:
    '''
    for 变量 in 序列:
    循环体
    else:
    语句块

while 条件语句:
循环体
else:
语句块
'''
b.执行过程:如果循环自然死亡,else对应的语句块会执行;如果循环因为遇到break而结束,else对应的语句块不执行

for x in range(10):
    print(x)
else:
    print('循环结束')

doubleloop

循环嵌套:在循环体中又有循环结构
执行过程:外循环执行一次,内循环执行完

for x in range(5):
    for y in range(4):
        print(x)
        print(y)

执行过程:
x = (0,1,2,3,4)
x = 0 y = (0,1,2,3)
y = 0 print(0),print(0)
y = 0 print(0),print(1)
y = 0 print(0),print(2)
y = 0 print(0),print(3)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,771评论 2 16
  • 图片发自简书 一 分支结构 python中的分之结构只有if语句,没有switch num = 11print('...
    Fly_withbird阅读 323评论 0 0
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,286评论 0 2
  • 今天我出门晚,好不容易挤上去,站在门对面,旁边站着两个五六岁的小男孩,还有两个30来岁的女子,看起来应该是这两个孩...
    一杯青柠檬阅读 319评论 0 3
  • 还是发生了很多笑话,像考试的卷子发错,导致女藤井在车库等男藤井一直等到了深夜,两人就在车库,靠手摇发电机照明,校对...
    鱼耗子阅读 128评论 0 0