Day4 for,while循环语句

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

1.for循环

a.语法

for 变量名 in 序列:
    循环体

b.说明

for          -    关键字,固定
变量名   -    和声明变量的时候的变量名要求一样
in           -     关键字,固定写法
序列       -    python中的序列有: 字符串、列表、元祖、字典、集合、range、生成器和迭代器等
:             -    固定写法
循环体   -    和for保持一个缩进的一条或者多条语句

c.执行过程

当程序执行到for循环的时候: 让变量去序列当中取值,一个一个的取,取完为止。每取一个值,执行一次循环体。

for  a in ('abcdef'):
    print(a)
    print('lllll')

2.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,2): # 0到100内所有的偶数
print(num)

注意: xrange 是python2.x的语法,python3.x无效

练习: 计算1+2+3+...+100的和

num = 0       # 保存和的变量
for n in range(1,101):
    # num = num + n
    num += n
print(num)

过程分析:
num = 0
n = (1,2,3,4...100)
n = 1 num += n , num = num + n , num = 0 + 1 = 1
n = 2 num += n , num = num + n , num = 1 + 2 = 3
...
n = 100 num += n , num = num + n , num = 4950 + 100 = 5050
print(num) 5050

练习: 计算2468...20的积

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

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

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

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 < 10:
    print('====')
    count += 1

分析过程:
count = 0
count < 10 0<10 True print('====') count += 1 count = count + 1 = 0 + 1 = 1
count < 10 1<10 True print('====') count += 1 count = count + 1 = 1 + 1 = 2
...
count < 10 10<10 False
print(count) print(10)

练习1: 使用while循环打印 0-10

num = 0
while num <= 10:
    print(num)
    num += 1

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

num = 11
while num <= 20:
    print(num)
    num += 1

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

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

练习4: 求2+4+6+...+40

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

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

num = 0
while num != 100 :
    num = int(input('请输入数字:'))
print('结束!')

ctrl + c 可以立刻终止命令!

2.补充: 随机数

randint(M,N) - 产生M~N的随机数,要求M,N都是整数,并且N>M
import random # 导入random模块,random是Python内置的一个专门用来产生和处理随机数的模块
random_num = random.randint(0,10)
print('随机数:',random_num)

练习: 猜数字游戏

random_num = random.randint(0,100)
n = 0
num = int(input('请输入一个0-100的数字:'))
while num != random_num:
    if num > random_num:
        print('偏大')
    else:
        print('偏小')
    n += 1
    num = int(input('请输入一个0-100的数字:'))
print('猜对了')
if n <= 3:
    print('您太棒了!')
elif 3<n<=6:
    print('还不错哦!')
else:
    print('玩家总共游戏:'+str(n)+'要加油哦!')

3.for循环和while循环的选择

a.遍历(一个一个的取)序列元素用for循环

b.循环次数确定的时候用for循环

c.死循环和循环次数不确定的时候用while循环

1.continue

用法: continue是关键字,只能出现在循环体中
功能: 执行循环体的时候,如果遇到continue,就直接结束当次循环,直接进入下次循环的判断

for x in range(10):
    if x % 3 ==0:
        continue
    print(x)
    print('=====')

2.break

用法: break 是关键字,只能出现在循环体
功能:执行循环体的时候,如果遇到break,整个循环直接结束

for x in range(10):
    print(x)
    break
    print('=====')
print('结束!')

练习:从0+1+2+....+n ,求当他们的和大于1000000时的第一个数

num = 0
N = 1
while True:
    num += N
    if num >= 1000000:
        break
    N += 1
print(N,num,num-1)

3.else

a.语法

for 变量 in 序列:
    循环体
else:
    语句块


while 条件语句:
    循环体
else:
    语句块

b.执行过程: 如果循环过程正常截止,else对应的语句块继续执行!如果循环过程遇到break而结束,else对应的语句块不执行

for x in range(5):
    print(x)
    break
else:                       # 主要是识别循环语句中是否有 break
    print(1111)

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

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

推荐阅读更多精彩内容

  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 976评论 0 1
  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 2,764评论 0 8
  • 图片发自简书 一 分支结构 python中的分之结构只有if语句,没有switch num = 11print('...
    Fly_withbird阅读 337评论 0 0
  • 01-recode 1.函数的概念 2.函数的声明/定义 3.函数的调用 4.函数的参数 5.函数的返回值 - ...
    憨猜猜阅读 156评论 0 1
  • 老公带我到诊所,医生为我量了体温,看了我一下,“是打针还是吃药?”“打针!”“吃药”我和我老公异口同声的说!我慌忙...
    爱共享一生阅读 33,388评论 0 2