流程控制-循环语句-参考答案

作业一

按要求打印如下结果:

  1. 使用while循环输出1 2 3 4 5 6     8 9 10
  2. 求1-100的所有数的和
  3. 输出 1-100 内的所有奇数
  4. 输出 1-100 内的所有偶数
# 题目一
# 方式一
count = 1
while count <= 10:
    if count == 7:
        count += 1
        continue
    print(count)
    count += 1
# 方式二
count = 1
while count <= 10:
    if count != 7:
        print(count)
    count += 1
# 方式三
for i in range(1, 11):
    if i == 7:
        continue
    print(i)

# 题目二
# 方式一
res = 0
count = 1
while count <= 100:
    res += count  # res = res + count
    count += 1
print(res)
# 方式二
result = 0
for i in range(1, 101):
    result += i  # result = result + i
print(result)

# 题目三
# 方式一
count = 1
while count <= 100:
    if count % 2 != 0:
        print(count)
    count += 1
# 方式二
for i in range(1, 101, 2):
    print(i)

# 题目四
# 方式一
count = 1
while count <= 100:
    if count % 2 == 0:
        print(count)
    count += 1
# 方式二
for i in range(2, 101, 2):
    print(i)

解题思路参考:

image.png

作业二

写一个用户猜年龄的游戏,允许用户最多尝试3次,每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序,如何猜对了,就直接退出。

Albert_age = 18
count = 0
while True:
    if count == 3:
        choice = input('继续(Y/N?)>>: ')
        if choice == 'Y' or choice == 'y':
            count = 0
        else:
            break
    guess = int(input('>>: '))
    if guess == Albert_age:
        print('you got it')
        break
    count += 1

解题思路参考:

image.png

作业三

打印如下九九乘法表(提示:用两层for 循环):

1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	4*4=16	
5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81
for i in range(1, 10):
    for j in range(1, i + 1):
        print('%s*%s=%s\t' % (i, j, i * j), end="")
    print()

解题思路参考:

image.png