第四周作业

1.重量计算
initial_weight = 60
yearly_gain = 0.5
moon_factor = 0.165
for year in range(1, 11):
earth_weight = initial_weight + yearly_gain * year
moon_weight = earth_weight * moon_factor
print(f"第 {year} 年:地球上的体重为 {earth_weight:.2f} kg,月球上的体重为 {moon_weight:.2f} kg")

2.天天向上
def calculate_ability(days):
ability = 1.0
consecutive_days = 0
for day in range(1, days + 1):
if consecutive_days < 3:
consecutive_days += 1
elif consecutive_days < 7:
ability *= 1.01
consecutive_days += 1
else:
consecutive_days = 0
return ability

final_ability = calculate_ability(365)
print(f"连续学习365天后的能力值为: {final_ability:.4f}")

3.天天向上(续)
def calculate_ability(days, rest_interval):
ability = 1.0
consecutive_days = 0

for day in range(1, days + 1):
    if rest_interval > 0 and day % rest_interval == 0:
        consecutive_days = 0
        continue
    if consecutive_days < 3:
        consecutive_days += 1
    elif consecutive_days < 7:
        ability *= 1.01
        consecutive_days += 1
    else:
        consecutive_days = 0

return ability

rest_interval_10 = 10
final_ability_10 = calculate_ability(365, rest_interval_10)
print(f"每10天休息1天,365天后的能力值为: {final_ability_10:.4f}")

rest_interval_15 = 15
final_ability_15 = calculate_ability(365, rest_interval_15)
print(f"每15天休息1天,365天后的能力值为: {final_ability_15:.4f}")

4.回文数
def is_palindrome(n):
num_str = str(n)
reversed_str = num_str[::-1]
return num_str == reversed_str

num = input("请输入一个5位数字: ")

if len(num) == 5 and num.isdigit():
if is_palindrome(num):
print(f"{num} 是回文数")
else:
print(f"{num} 不是回文数")
else:
print("输入无效,请输入一个5位数字。")

5.田字格
def print_tianzige():
pattern = [
"+----+----+",
"| | |",
"| | |",
"+----+----+",
"| | |",
"| | |",
"+----+----+"
]

for line in pattern:
    print(line)

print_tianzige()

posted @ 2025-03-23 16:20  Neflibata。  阅读(56)  评论(0)    收藏  举报