头歌 python答案及解析

头歌 python答案及解析,第1张

第一部分 Python顺序结构程序设计

输出实数的整数和小数部分

import math
num = float(input())
num1 =round(num-int(num),4)
num2 =math.floor(num)
print("输入一个正的实数:{}0000={}+{}0000".format(num,num2,num1))

求2个数的和

tmp = a    
a = b    
b = tmp   
result = a+c

球的表面积和体积

import math

pi = 3.1415926
r_num = float(input())
num1 =4*pi*r_num*r_num
num2 = (4/3)*pi*r_num*r_num*r_num
print("请输入球的半径:球体表面积为:{:.2f},体积为:{:.2f}".format(num1, num2))

出生日期与年龄

year, month, day = (input().split(","))
year = int(year)
month = int(month)
day = int(day)
if month <10:
    month = ("0"+str(month))
if day < 10:
    day = ("0"+str(day))

year2 = 2020-year
print("我的出生日期是{}年{}月{}日\n我今年{}岁了".format(year, month, day, year2))

计算存款复利

A = int(input())
B = float(input())
year = int(input())
B = (B/100)
index = 0
while True:
    C = A*B
    A = A+C
    index += 1
    if index == year:
        break
print("请输入本金:请输入年利率:请输入年份:本金利率和为:{:.2f}".format(A))

复数及math库的应用

from math import*
x=5+3j
num = radians(56)
y=exp(sqrt(pi)/2)                           #请补充求y的语句
z= 2*sin(num)/( x+cos(abs(x+y)) )                            #请补充求z的语句
print("z= ({:.17f}{:.16f}j)".format(z.real,z.imag))

逆序数

num = int(input())
num1 = str(num)
num3 = num1[-1::-1]
print("n={}的逆序数是{}".format(num,num3))
第二部分

水仙花数

def s_count(x):
    result = x*x*x
    return result
num = int(input())
bai_num = num//100
ge_num = num%10
shi_num = (num-bai_num*100-ge_num)//10
right = s_count(bai_num)+s_count(ge_num)+s_count(shi_num)
if num == right:
    print("{}是水仙花数".format(num))
else:
    print("{}不是水仙花数".format(num))

求两个整数的最大值

num1 = int(input())
num2 = int(input())
if num1>num2:
    print("最大值:{}".format(num1))
else:
    print("最大值:{}".format(num2))

24小时制和12小时制之间的转换

time = int(input())
if time<0 or time>24:
    print("输入时间格式错误")
if 0 <= time < 12:
    print("现在是上午{}点".format(time))
if time ==12:
    print("现在是中午12点")
if 12<time<24:
    print("现在是下午{}点".format(time%12))
if time ==24:
    print("现在是上午0点")

工资计算

name,t = input().split(",")
t = int(t)
if t>120:
    money = (t-120)*84*1.15+120*84
    print("{}号职工应发工资{}".format(name,money))
else:
    if t>60:
        money = t*84
    else:
        money = t*84-700
    print("{}号职工应发工资{}".format(name,money))

计算分段函数的值:

if x == 0:
    y = 0
if x > 0:
    y = (x*x-3*x)/(x+1)+2*pi+sin(x)
if x < 0:
    x1 = (-5)*x
    y = log(x1, e) + 6*sqrt( fabs(x)+pow(e, 4) ) - pow((x+1), 3)

三角形的面积和周长

from math import*
a = int(input())
b = int(input())
c = int(input())
p = (a+b+c)/2
d = (a+b+c)
if a>0 and b>0 and c>0:
    num = 1
else:
    num = 0
if a+b>c and b+c>a and c+a>b:
    num = 1
else:
    num = 0
if num==1:
    s = sqrt( p*(p-a)*(p-b)*(p-c) )
    print("请输入三角形的边a:请输入三角形的边b:请输入三角形的边c:三角形的周长={:.1f},面积={:.1f}".format(d,s))
else:
    print("请输入三角形的边a:请输入三角形的边b:请输入三角形的边c:无法构成三角形!")

求解一元二次方程

from math import*
a=float(input("请输入系数a:"))
b=float(input("请输入系数b:"))
c=float(input("请输入系数c:"))
if (a == 0):
    if (b == 0):print("此方程无解!")
    else:print(str.format("此方程的解为:{0:.3f}", -c / b))
else:
    pass
index = pow(b,2)-4*a*c
if index>0 and a!=0:
    jie1 = (-b) / (2 * a) + sqrt(index) / (2 * a)
    jie2 = (-b) / (2 * a) - sqrt(index) / (2 * a)
    print("此方程有两个不等实根:{:.3f}和{:.3f}".format(jie1, jie2))
if index<0:
    index = fabs(index)
    num1 = (-b) / (2 * a)
    num2 = sqrt(index) / (2 * a)
    print("此方程有两个不等虚根:{0:.3f}+{1:.3f}i和{0:.3f}-{1:.3f}i".format(num1, num2))
if index==0 and a!=0:
    num3 = (-b) / (2 * a)
    print("此方程有两个相等实根:{:.3f}".format(num3))

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/735528.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-27
下一篇2022-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存