Python第三章作业
Python第三章作业
·
Python第三章作业
📑前言
本文主要是【Python】——头歌Python第三章作业的文章,如果有什么需要改进的地方还请大佬指出⛺️
🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见
目录
第一关:判断是否直角三角形
# 请补充你的代码
# 3 4 5
a = float(input())
b = float(input())
c = float(input())
list = []
list.append(a)
list.append(b)
list.append(c)
list.sort(key=lambda x:x,reverse=False)
if list[0]<=0 or list[1]<=0 or list[2]<=0:
print('NO')
else:
if list[0]**2+list[1]**2==list[2]**2:
print('YES')
else:
print('NO')
第2关:今年多少天?
# 请补充你的代码
year = int(input())
if (year%4==0 and year%100!=0) | (year%400==0):
print(366)
else:
print(365)
第3关:判断三角形并计算面积
# 请补充你的代码
import math
a = float(input())
b = float(input())
c = float(input())
s = (a+b+c)/2
if a+b>c and a+c>b and b+c>a:
print('YES')
t = math.sqrt(s*(s-a)*(s-b)*(s-c))
print(f'{t:.2f}')
else:
print('NO')
第4关:身高测算
# 请补充你的代码
a = int(input())
b = int(input())
sex = input()
ans = 0
if sex == '男':
ans =(a+b)*1.08/2
print(int(ans))
elif sex == '女':
ans = (a*0.923+b)/2
print(int(ans))
else:
print('无对应公式')
第5关:个税计算器
# 请补充你的代码
s = float(input())
# 先判断输入是正数,然后根据输入的工资范围定税率和速算扣除数
if s < 0:
print("error")
else:
salary = s - 5000
if salary <= 0:
fee, num = 0, 0
elif salary <= 3000:
fee, num = 3, 0
elif salary <= 12000:
fee, num = 10, 210
elif salary <= 25000:
fee, num = 20, 1410
elif salary <= 35000:
fee, num = 25, 2660
elif salary <= 55000:
fee, num = 30, 4410
elif salary <= 80000:
fee, num = 35, 7160
else:
fee, num = 45, 15160
tax = abs(salary * fee / 100 - num)
print("应缴税款{:.2f}元,实发工资{:.2f}元。".format(tax, salary + 5000 - tax))
第6关:判断闰年
# 请补充你的代码
year = int(input())
if (year%4==0 and year%100!=0) | (year%400==0):
print(True)
else:
print(False)
第7关:分段函数B
# 请补充你的代码
import math
x = int(input())
if x>=-6 and x<0:
y = abs(x)+5
elif x>=0 and x<3:
y = math.factorial(x)
elif x>=3 and x<=6:
y = pow(x,x-2)
elif x>6 or x<-6:
y = 0
print(y)
第8关:百分制成绩转换五分制E
# 请补充你的代码
a = int(input())
if a>=90 and a<=100:
print('A')
elif a>=80 and a<90:
print('B')
elif a>=70 and a<=80:
print('C')
elif a>=60 and a<70:
print('D')
elif a>=0 and a<60:
print('E')
else:
print('data error!')
第9关:正负交错数列前n项和
# 请补充你的代码
a,b =1.0, 1.0
n = int(input())
sum = 1.0
sign = -1
if n == 0:
sum = 0
elif n == 1:
sum = 1
elif n > 1:
for i in range(1,n):
x = i
y = a + b
a = b
b = y
sum += sign * (x/y)
sign = -sign
print(f'{sum:.6f}')
第10关:求数列前n项的平方和
# 请补充你的代码
n = int(input())
sum = 0
for i in range(1,n+1):
sum += i*i
print(sum)
第11关:百钱买百鸡A
for x in range(1,21):
for y in range(1,34):
z=100-x-y
if 5*x+3*y+z/3 == 100:
print(f'{x} {y} {z}')
第12关:用户登录C
# 请补充你的代码
n = 0
while n<3:
u = input()
p = input()
if u == 'admin' and p == '012345' or u == 'administrator' and p == '012345':
print('登录成功')
break
else:
print('登录失败')
n += 1
第13关:鸡兔同笼
# 请补充你的代码
m,n = map(int,input().split())
i = 0
flag = 0
if m<0 or n<0:
flag = 0
else:
for i in range(0,m+1,1):
if i*2+(m-i)*4 == n:
print(f'有{i}只鸡,{m-i}只兔')
flag = 1
break
if flag == 0:
print("Data Error!")
第14关:今天是第几天
# 请补充你的代码
a,b,c = map(int,input().split('/'))
d = [31,28,31,30,31,30,31,31,30,31,30,31]
if (a%4==0 and a%100!=0) or a%400==0:
d[1] = 29
t = 0
for i in range(0,b-1):
t+=d[i]
t+=c
print(f'{a}年{b}月{c}日是{a}年第{t}天')
第15关:中国古代数学问题——物不知数
# 请补充你的代码
n = int(input())
flag = 0
for i in range(1,n+1):
if i%3==2 and i%5==3 and i%7==2:
flag = 1
print(i)
if flag == 0:
print('No solution!')
第16关:存款买房-B
"""
1.让用户输入半年度加薪的整数百分比,例如输入7表示每半年加薪7%。
2.第6个月后,按该百分比增加薪资。在第12个月、18个月之后,依此类推(只有在第6、12、18……等月份时才加薪)。
写一个程序计算需要多少个月才能攒够钱付首付款。与之前一样,假设所需的首付款百分比为0.30(30%)。
你的程序要给出以下提示并要求用户输入相应的数值:
1. 请输入总房价:total_cost
2. 请输入年薪:annual_salary
3. 请输入月存款比例:portion_saved
4. 每半年加薪比例:semi_annual_raise
测试用例
请输入总房价:1000000
请输入年薪:156800
请输入月存款比例:60
请输入加薪比例:7
输出:需要33 个月可以存够首付
"""
total_cost = float(input()) # total_cost为当前房价
annual_salary = float(input()) # 年薪
portion_saved = float(input()) / 100 # 月存款比例,输入30转为30%
semi_annual_raise = float(input()) /100 # 输入每半年加薪比例,输入7转化为7%
portion_down_payment = 0.3 # 首付比例,浮点数
###################################Begin###################################
# 补充你的代码
down_payment = total_cost * 0.3
# 首付款
###################################Begin###################################
print('首付',down_payment)
current_savings = 0 # 存款金额,从0开始
number_of_months = 0
monthly_salary = annual_salary/12 #月工资
monthly_deposit = monthly_salary * portion_saved # 月存款
# 计算多少个月才能存够首付款,结果为整数,不足1月按1个月计算,即向上取整
###################################Begin###################################
# 补充你的代码
while True:
current_savings = current_savings + monthly_deposit
number_of_months = number_of_months + 1
if current_savings >= down_payment: # 存够了买房去
break
if number_of_months % 6 == 0:
monthly_deposit = monthly_deposit * (1 + semi_annual_raise)
###################################Begin###################################
if number_of_months % 12 == 0:
print("第{}个月月末有{:,.0f}元存款".format(number_of_months, current_savings))
print(f'需要{number_of_months}个月可以存够首付')
第17关:中国古代数学问题——二鼠打洞
n = int(input())
rat, mouse, day, time = 1, 1, 0, 1 #大老鼠进度,小老鼠进度,相遇时间,第一天时间
distance_of_rat, distance_of_mouse = 0, 0 # 大老鼠和小老鼠的打洞距离
while n > 0:
if n - mouse - rat < 0: #第一天打洞完成
time = n / (mouse + rat) #算出需要时间
n = n - mouse - rat #剩余墙厚
distance_of_mouse = distance_of_mouse + time * mouse
distance_of_rat = distance_of_rat + time * rat
rat = rat * 2 #大老鼠每天进度
mouse = mouse / 2 #小老鼠每天进度
day = day + 1 #时间过去一天
print(day)
print(round(distance_of_mouse, 1), round(distance_of_rat, 1))
📑文章末尾

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)