前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小甲鱼《零基础学习Python》课后笔记(九):了不起的分支和循环2

小甲鱼《零基础学习Python》课后笔记(九):了不起的分支和循环2

作者头像
小火柴棒
发布2019-01-11 14:27:34
7220
发布2019-01-11 14:27:34
举报
文章被收录于专栏:石开之旅石开之旅

测试题

0.下面的循环会打印多少次

代码语言:javascript
复制
for i in range(0, 10, 2):  
    print('I love FishC') 

 5次。range(0, 10, 2)得到[0,2,4,6,8],总共5次。

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

代码语言:javascript
复制
for i in 5:  
    print('I Love FishC')  

会报错。in是成员运算符。

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

break是跳出循环,continue是中止本次循环,进入下次循环。

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

下节补充。

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

会生成range(0,10)

代码语言:javascript
复制
>>> list(range(0,10))  
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  

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

代码语言:javascript
复制
while True:  
    while True:  
        break  
        print(1)  
    print(2)  
    break  
print(3)  

打印2,3。第一个break跳过print(1),跳到print(2);第二个break跳出第2个while循环,跳到print(3)。

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

   一些需要一直执行的程序,如游戏实现,因为游戏只要运行着,就需要时刻接收用户输入,因此使用永远为真确保游戏“在线”。

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

代码语言:javascript
复制
i = 0  
string = 'ILoveFishC.com'  
while i < len(string):  
    print(i)  
    i += 1  

改进后,主要是不用每次循环都调用len函数。

代码语言:javascript
复制
i = 0  
string = 'ILoveFishC.com'  
length = len(string)  
while i < length:  
    print(i)  
    i += 1  

动动手

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

代码语言:javascript
复制
count = 3
password = 'allen'
while count > 0:
    number = input('请输入密码:')
    if number == password:
        print('密码正确!')
        break
    elif '*' in number:
        print('密码中不能含有"*"号!您还有' + count + '次机会!')
        continue
    else:
        print('输入密码有误!您还有' + (count-1) + '次机会!')
        count -= 1

1.编写一个程序,求100~999之间的所有水仙花数。

如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。

代码语言:javascript
复制
for i in range(100,1000):  
    baiwei = i//100  
    shiwei = (i - 100*baiwei)//10  
    gewei = i%10  
    sum = baiwei**3 + shiwei**3 + gewei**3  
    if sum == i:  
        print(i)  

153  370  371  407 

2.三色球问题

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

代码语言:javascript
复制
print('red\tyellow\tgreen')  
for red in range(0,4):  
    for yellow in range(0,4):  
        for green in range(0,7):  
            if red + yellow + green == 8:  
                print(red,'\t',yellow,'\t',green)  

运行结果:

代码语言:javascript
复制
red    yellow    green
0        2       6
0        3       5
1        1       6
1        2       5
1        3       4
2        0       6
2        1       5
2        2       4
2        3       3
3        0       5

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

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

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

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

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