Python Mastery: Starter Course Note 7 of 18
Control Flow - Loop Statements - Reference Answers
Assignment 1
Print the following results as required:
- Use a while loop to output 1 2 3 4 5 6 8 9 10
- Find the sum of all numbers from 1 to 100
- Output all odd numbers from 1 to 100
- Output all even numbers from 1 to 100
# Problem 1
# Method 1
count = 1
while count <= 10:
if count == 7:
count += 1
continue
print(count)
count += 1
# Method 2
count = 1
while count <= 10:
if count != 7:
print(count)
count += 1
# Method 3
for i in range(1, 11):
if i == 7:
continue
print(i)
# Problem 2
# Method 1
res = 0
count = 1
while count <= 100:
res += count # res = res + count
count += 1
print(res)
# Method 2
result = 0
for i in range(1, 101):
result += i # result = result + i
print(result)
# Problem 3
# Method 1
count = 1
while count <= 100:
if count % 2 != 0:
print(count)
count += 1
# Method 2
for i in range(1, 101, 2):
print(i)
# Problem 4
# Method 1
count = 1
while count <= 100:
if count % 2 == 0:
print(count)
count += 1
# Method 2
for i in range(2, 101, 2):
print(i)
Reference solution approach:

Assignment 2
Write an age-guessing game for the user. Allow the user at most 3 attempts. After every 3 attempts, if they still haven’t guessed correctly, ask the user whether they want to keep playing. If they answer Y or y, let them guess 3 more times, and so on; if they answer N or n, exit the program. If they guess correctly, exit right away.
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
Reference solution approach:

Assignment 3
Print the following multiplication table (hint: use two nested for loops):
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()
Reference solution approach:
