首页 > 代码库 > 分支和循环2

分支和循环2

测试题:

0.       下面的循环会打印多少次”I love FishC”

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

print(‘I LoveFishC‘)

  

答:for I in range(0,10,2)打印的I 的值为:0,2,4,6,8

    所以打印5I love FishC

 

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

for i in 5:

    print(‘I Love FishC‘)

答:0次,会报错

 

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

答:break是跳出整个循环,continue是跳出本次循环。

 

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

答:

(1).列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

(2).列表的数据项不需要具有相同的类型。

(3).创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

 

4.  请问range(10)生产那些数?

答:会生产0,1,2,3,4,5,6,7,8,9   list(range(0,10))

 

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

while True:

    while True:

        break

        print(1)

    print(2)

    break

print(3)

答:2和3

 

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

答:同样用于游戏实现,因为游戏只要运行着,就要时刻接受用户输入,因此使用永远为真确保游戏在线。

 

7.  你觉得以下代码效率怎样?有没有办法可以大幅改进(扔然使用while)?

i = 0

string =‘abc.com‘

while i <len(string):

    print(i)

i += 1

 

答:

#!/usr/bin/envpython

i = 0

string =‘abc.com‘

for i in range(i,len(string)):

print(i)

 

 

动动手:

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

#!/usr/local/bin/python3

#_*_coding:utf-8_*_

bingo= ‘abk.com‘

i = 1

a ="*"

answer= input(‘请输入密码:‘)

           

whileTrue:

    if answer == bingo:

        print("密码正确,进入程序。。。。")

        break    

 

    elif ( a in answer ):

        answer = input("密码中不能含有‘*‘号!您还有三次机会!请重新输入密码:")

        continue

      

    while True: 

         if i < 3:

             answer = input("密码输入错误!您还有 %s 次机会!请重新输入密码:" %(3 - i) )        

             if answer != bingo:

                    i += 1

                    continue

             else:

                 print("密码正确,进入程序。。。。")    

         else:

             print("三次输入错误,退出程序。")

         break

break

 

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

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

答:

#!/usr/local/bin/python3

#_*_coding:utf-8_*_

for iin range(100,1000):

    sum = 0

    temp = i

    while temp:

          sum = sum + (temp%10)**3

          temp//=10

    if sum == i:

        print(i)         

            

2.  三色球问题

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

答:

print(‘red\tyellow\tgreen‘)

forred in range(0, 4):

    for yellow in range(0, 4):

        for green in range(2, 7):

            if red + yellow + green == 8:

                # 注意,下边不是字符串拼接,因此不用“+”哦~

                print(red, ‘\t‘, yellow, ‘\t‘,green)

本文出自 “早起的鸟儿有虫吃” 博客,请务必保留此出处http://hejianping.blog.51cto.com/11279690/1875776

分支和循环2