Exercise_9

Exercise 9 : Branch and Leap 2

Test :

  1. 打印次数

    1
    2
    3
    for i in range(0, 10, 2):
    print('A')
    02468

    循环输出5次A

  2. 打印次数

    1
    2
    for i in 5:
    print('A')

    报错,因为成员资格运算符 in后加序列,而序列只有list, tuple, string三种

  3. break 停止当前循环并结束循环体

    continue 终止本轮循环并开始下一轮(在下一轮循环开始之前,需先测试循环条件)

  4. range(10)

    list(range(10)) 输出结果为[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

  5. 2

    3

    1
    2
    3
    4
    5
    6
    7
    while True:
    while True:
    break
    print(1)
    print(2)
    break
    print(3)

    break只能跳出一层循环

  6. 改进代码效率:

    1
    2
    3
    4
    5
    i = 0
    string = 'ILoveFishC.com'
    while i < len(string) :
    print(i)
    i += 1

    由于每次判断都需要调用len(string)故效率低,因此我们选择采用length = len(string)来提高效率。

Try :

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    count = 3
    password = 'abc123'
    while count:
    password2 = input('Pls input a password:')
    if password2 == password:
    print('You have entered the right password!')
    break
    elif '*' in password2:
    print("There is none '*' in password, you have another", count,' opportunity(ies)! ')
    continue
    else:
    print('It is wrong! You have another', count-1, 'opportunity(ies)! ')
    count -= 1

    存在问题 : input的对象内部含’*‘会导致空str导入(待解决)

  2. 水仙花数问题(ABC = A^3 + B^3 + C^3 )

    narcissistic number :

    1
    2
    3
    4
    5
    6
    7
    for i in range(100,1000):
    a = i//100 #注意用地板除//而非/
    b = i//10 - a * 10
    c = i%10
    if a ** 3 + b ** 3 + c ** 3 == i:
    print(i)
    i += 1
    1
    2
    3
    4
    5
    6
    7
    8
    for i in range(100,1000):
    summary = 0
    temp = i
    while temp:
    summary = summary + (temp%10) ** 3
    temp //=10
    if summary == i:
    print(i)

    两种不同的方法完成

  3. 红球3,黄球3,绿球6个。将12个球混合放入一个盒子中,从中任意摸出8个球,编程计算摸出球颜色搭配。

1
2
3
4
5
for a in range(0,4):
for b in range(0,4):
for c in range(2,7):
if a + b + c == 8:
print('red:', a , ' yellow:', b ,' green:', c ,' ')

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!