前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习笔记-小甲鱼Python3学习第九讲

学习笔记-小甲鱼Python3学习第九讲

作者头像
py3study
发布2020-01-06 14:51:24
6800
发布2020-01-06 14:51:24
举报
文章被收录于专栏:python3python3

while循环:当条件真时,执行循环体

while 条件:

    循环体

for循环:

for 目标 in 表达式:

    循环体

举例:

>>> fruits = ['apple','橘子','banana','哈密瓜','pear']           #水果列表frutis

>>> for fruit in fruits:

print(fruit,len(fruit))                    #打印水果和水果名字的字符数量

apple 5

橘子 2

banana 6

哈密瓜 3

pear 4

range()函数,python的内置函数,取一定范围值

语法: range([start,] stop[,step=1])

-共三个参数,中括号里面是可选参数

-step=1表示第三个参数的值默认值是1,步进值

-作用是生成一个从start参数的值到stop参数的值减1结束的数字序列

举例:

>>> for i in range(4):

print(i)

0

1

2

3

不设置start值,默认从0开始打印

>>> for i in range(2,6):

print(i)

2

3

4

5

>>> for i in range(2,10,3):

print(i)

2

5

8

设置步进值为3

break和continue

break:终止循环,跳出循环体

举例:

birth = '1203'

answer = input('请输入我的生日:')

while True:

    if answer == birth:

        break

    answer = input('不对,请再猜一下我的生日:')

print('厉害了!我的生日你都能猜到!')

continue:终止本轮循环,并开始下一轮循环

举例:

for i in range(10):

    if i%2 != 0:

        print(i)

        continue

    print('aloha',i)

--------------------------分割线,哈哈哈--------------------

二、课后作业:

0. 下面的循环会打印多少次"I Love FishC"?

for i in range(0,10,2):

        print('i love fishc')

5次,i从0开始,以每次加2,当i为0,2,4,6,8的时候打印“”中语句

1.下面的循环会打印多少次"I Love FishC"?

for i in 5:

        print('i love fishc')

会报错, in 是“成员资格运算符”,i要在一个序列中寻找值,而不是单个值

2. 回顾一下 break 和 continue 在循环中起到的作用?

break:终止当前循环,跳出循环体

continue:终止本轮循环并开始下一轮循环(这里要注意的是:在开始下一轮循环之前,会先测试循环条件)。

3.请谈下你对列表的理解?

列表是python中常用的数据类型,以[]方括号括起来,并用,逗号隔开

列表中的数据不需要具有相同的类型

4.请问 range(10) 生成哪些数?

0,1,2,3,4,5,6,7,8,9    相当于range(0,10)  

5.目测以下程序会打印什么?

while True:

    while True:

        break

        print(1)

    print(2)

    break

print(3)

会打印

2

3

6.什么情况下我们要使循环永远为真?

#########抄的不知道########### 用于游戏实现,因为游戏只要运行着,就需要时刻接收用户输入,因此使用永远为真确保游戏“在线”。操作系统也是同样的道理,时刻待命,操作系统永远为真的这个循环叫做消息循环。另外,许多通讯服务器的客户端/服务器系统也是通过这样的原理来工作的。所以永远为“真”虽然是“死循环”,但不一定是坏事,再说了,我们可以随时用 break 来跳出循环!

7.【学会提高代码的效率】你的觉得以下代码效率方面怎样?有没有办法可以大幅度改进(仍然使用while)?

i = 0

string = 'I love python.'

while i < len(string)):

      print(i)

       i+= 1

上面的代码,效率低下的原因是“每次循环都要调用len()函数”,改为一次性直接调用如下:

i = 0

string = 'I love python'

length = len(string)

while i < length:

    print(i)

    i += 1

----------------------分割线,哈哈哈-----------------

三、动动手:

0.设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内

print('-------密码验证程序-----------')

count = 3

password = '11111'

while count:

    passwd = input('请输入密码:')

    if passwd == password:

        print('密码正确,进入程序...')

        break

    elif '*' in passwd:

        print('*不能作为密码',end=' ')

        continue

    else:

        print('密码错误,你还有',+ count-1,'次机会.',end=' ')

    count -= 1

1.编写一个程序,求 100~999 之间的所有水仙花数。如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。

for i in range(100,1000):

    if i == ((i//100)**3 + (i%100//10)**3 + (i%10)**3):

        print(i)

2.三色球问题:

有红、黄、蓝三种颜色的球,其中红球3个,黄球3个,绿球6个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。

print('--------三色球问题--------')

for red in range(4):

    for yellow in range(4):

        for blue in range(7):

            if red + yellow + blue == 8:

                print('三色球组合:红球',red,'个','黄球',yellow,'个','篮球',blue,'个')

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档