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))

📑文章末尾

在这里插入图片描述

Logo

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

更多推荐