Python学校非计分作业一:顺序和分支结构练习

文章主要介绍了使用Python进行数学计算,包括圆锥体积计算、两数合并、距离公式、时分秒处理、一元二次方程求解、温度转换、时钟角度计算以及计算平方根等,并涉及了保留小数位数和条件判断的技巧。
摘要由CSDN通过智能技术生成

目录

1.​编辑

3.两数合并

5.

6.时分秒输出​编辑

8.​编辑

9.单价比较

10.生肖确定

 14.

 18.一元二次方程(△<0如何求解)

20.温度转换

​编辑

 21.时针分针夹角

22.求天数

25. 计算平方根

​编辑


1.

import math
r,h=map(float,input().split())
v=math.pi*r*r*h#用了上面的这个输入就得用import math
print("{:.2f}".format(v))
"""
下面这段保留两位小数的代码好像又不能用了???
result = round(v,2)
print(v)
"""

3.两数合并

a, b = map(int, input().split())
c = a//10 * 1000 + a % 10 * 10 + b // 10 *100 + b % 10
print(c)

5.

import math
x1,y1,x2,y2=map(float,input().split())
dx=x2-x1
dy=y2-y1
s=dx**2 + dy**2
d=math.sqrt(s)
print("{:.2f}".format(d))

6.时分秒输出

a = input()
a = int(a)
hour=a//3600
min=a%3600//60
second=a%60
print(f"{hour}:{min}:{second}")

8.

x1,y1,x2,y2=map(float,input().split())
x=(x2+x1)/2
y=(y1+y2)/2
print(f"{x:.2f} {y:.2f}")

这又是一种保留两位小数的写法

9.单价比较

a1,b1=map(float,input().split())
a2,b2=map(float,input().split())
a1=int(a1)
a2=int(a2)
if(b1/a1 < b2/a2):
    print(f"{a1} {b1:.1f}")
else:
    print(f"{a2} {b2:.1f}")

10.生肖确定

year = int(input())
shengxiao = ['dog','pig','rat','ox','tiger','rabbit','dragon','snake','horse','sheep','monkey','rooster']
sx = shengxiao[(year-2018)%12]
print(f"{year} {sx}")

 14.

这道题没有一次性做对,注意a<0的情况

import math
a=int(input())
if(a//100==0 or a<=0):
    print(f"{a} error")
else:
    print(a//100)

 18.一元二次方程(△<0如何求解)

import math
a,b,c=map(float,input().split())
d=b**2-4*a*c
if(d==0):
    x1=(-b+math.sqrt(d))/(2*a)
    print(f"x1=x2={x1:.2f}")
if(d>0):
    x1=(-b+math.sqrt(d))/(2*a)
    x2 = (-b - math.sqrt(d)) / (2 * a )
    print(f"x1={x1:.2f} x2={x2:.2f}")
if(d<0):
    real_part = -b / (2 * a)
    imaginary_part = math.sqrt(-d) / (2 * a)
    x1 = f'{real_part:.2f}+{imaginary_part:.2f}j'
    x2 = f'{real_part:.2f}-{imaginary_part:.2f}j'
    print( f'x1={x1} x2={x2}')

20.温度转换

t=input()
num=float(t[:-1])
tem=t[-1]
if(tem=='F'):
    print(f"F={(1.8*num+32):.2f}")
if(tem=='C'):
    print(f"C={((num-32)/1.8):.2f}")

 21.时针分针夹角

h, m = map(int, input().split())
h1=h*5+(m/60)*5
if(h1<m):
    print(f"{((m-h1)*6):.1f}")
else:
    print(f"{((h1-m) * 6):.1f}")

 可以用abs()函数来直接求绝对值

22.求天数

可以用sum()函数来求总和,也利用数组

y,m,d=map(int,input().split())
mon=[31,28,31,30,31,30,31,31,30,31,30,31]
if(y%4==0 and y%100!=0 or (y%400==0)):
    mon[1]=29
total=sum(mon[:m-1])+d
print(total)

25. 计算平方根

import math
a=int(input())
if(a>=1000 or a<=0):
    print(f"{a} error")
else:
    b=math.sqrt(a)
    if(b**2==a):
        print(int(b))
    elif(b*100//10%10>=5):
        print(int(b+1))
    elif(b*100//10%10<5):
        print(int(b))

 注意四舍五入,还有最后输出时的int转化

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值