# Annual income Calculator
# 定义获取月工资的函数
def get_monthly_salary():
while True:
try:
monthly_salary = input(f'What is your monthly salary(Yuan)? ')
salary = int(monthly_salary) # 补充代码进行合适的数据类型转换
assert salary <= 30000 # 补充代码进行月工资范围断言判断
return salary
except ValueError: # 补充代码完成值错误异常捕获
print('An integer value is required! please input monthly salary again!')
except AssertionError: # 补充代码完成断言错误异常捕获
print('monthly salary is too high! please input monthly salary again!')
# 定义计算年收入的函数
def calculate_annual_income(monthly_salary):
return monthly_salary*12
if __name__ == "__main__":
monthly_salary = get_monthly_salary() # 由用户输入获取月工资
annual_income = calculate_annual_income(monthly_salary) # 计算年收入
print("your annual income is",annual_income) # 打印年收入
2.Repetition
2.1adding_numbers
while True:
try:
N = int(input("How many numbers you want to add? "))
break
except ValueError:
print("Must be an integer, please enter again!")
total = 0
for i in range(N):
while True:
try:
num = int(input("enter an integer number: "))
total += num
break
except ValueError:
print("Must be an integer, please enter again!")
print("the total sum is", total)
2.2multiplication_table
# multiplication table---------------
# 循环嵌套
for i in range(13):
for j in range(13):
print(f"{i} x {j} = {i*j}") # 补充代码限定外循环范围
# 补充代码限定内循环范围
# 补充代码,打印当前行乘法公式
2.3 guess_number
import random
random.seed(42)
def get_difficulty():
while True:
try:
difficulty = input('Pick a difficulty level (1, 2 or 3): ')
difficulty = int(difficulty)
if difficulty in [1, 2, 3]:
return difficulty
else:
print('A valid input is required')
except ValueError:
print('A valid input is required')
def create_number(difficulty):
if difficulty == 1:
max_number = 10
elif difficulty == 2:
max_number = 100
else:
max_number = 1000
random_num = random.randint(1, max_number)
return random_num
def play():
difficulty = get_difficulty()
number = create_number(difficulty)
print("I have my number. You can start guessing the number.")
number_of_guesses = 1
while True:
try:
guessed_number = input('What\'s your guess? ')
guessed_number = int(guessed_number)
if guessed_number > number:
print('Too high.', end=" ")
elif guessed_number < number:
print('Too low.', end=" ")
else:
print(f'You got it in {number_of_guesses} guesses!')
return
except ValueError:
print('A valid input is required')
finally:
number_of_guesses += 1
def play_again():
while True:
answer = input('play again? ')
answer = answer.lower()
if answer == 'y' or answer == 'yes':
play()
elif answer == 'n' or answer == 'no':
print('Goodbye!')
break
else:
print('A valid input is required')
def main():
print('Let\'s play Guess the number.')
play()
play_again()
if __name__ == "__main__":
main()