Educoder Python 分支结构习题

1.单路分支求平抛小球与抛出点的距离
任务:一小球以 5米/秒 的水平速度平抛,重力加速度取9.8米每秒的平方,在忽略空气阻力的情况下,求
经过时间 t 秒后(t 是获取的输入值),小球所在位置与抛出点之间的距离 (假设小球距地面足够高,t应大于0)。
如果t>0,输出格式为:“经过t秒后,小球与原点的距离为d米”
如果t<0,输出格式为:“t<0,不合法”
G = 9.8 # 声明浮点型变量 G,用于表示重力加速度
v0 = 5 # 声明整型变量 v0, 用于表示水平初速度

# 使用单路分支语句if计算当t大于0时小球所在位置与抛出点之间的距离。
t = int(input())
if t > 0:
    s = v0*t
    h = (G*t**2)/2
    d = (s**2+h**2)**0.5
    print("经过%.6f秒后,小球与原点的距离为%.6f米"%(t,d))
else:
    print("t<0,不合法")

2.单路分支正方形判断
假设现在有一个方形,它的长度和宽度未知,只知道长和宽的变量名,请编写代码判断该方形是否为正方形(长和宽都应大于 0)。
输出格式:如果长度小于等于0输出"长度不合法",如果宽度小于等于0,则输出"宽度不合法",如果长度等于宽度,则输出"该方形为正方形",如果长度不等于宽度,则输出"该方形为长方形"。

# 使用单路分支语句if判断方形是否为正方形
length = int(input())
width = int(input())
if length <= 0:
    print("长度不合法")
elif width <= 0:
    print("宽度不合法")
elif length == width :
    print ("该方形为正方形")
elif length != width:
    print("该方形为长方形")

3.双路分支温度转换
根据输入的选项,完成从摄氏度到华氏度或从华氏度到摄氏度的转换。输入数据包括温度的单位、待转换的温度值,温度值为浮点型。
摄氏度的单位可能为摄氏度,也可能为 C,华氏度的单位可能为华氏度,也可能为 F
输出格式为:“c摄氏度转换为f华氏度”

#第1步:使用input函数获取温度单位
a = input()
#第2步:使用input函数获取温度值
b = float(input()) 
#第3步:如果单位为摄氏度或者C,则将温度转换成华氏度,否则转换为摄氏度,并按照要求打印出转换前和转换后的值
if a == "C" or a == "摄氏度":
    d = b*1.8 + 32 
    print("%.6f摄氏度转换为%.6f华氏度"%(b,d))
else:
    f = (b-32)/1.8
    print("%.6f华氏度转换为%.6f摄氏度"%(b,f))

4.闰年的判断
“”“程序代码
任务:假设现在我们已知年份为 year,请编写代码判断这一年是否为闰年。
输出格式:“year年是闰年"或者"year年是平年”
“””

#第1步:使用input函数获取年份赋值给year
year = int(input()) 
#第2步:判断该年是否为闰年
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print("{}年是闰年".format(year))
else :
    print("{}年是平年".format(year))

5.天数判断
“”"
任务:根据输入的年份和月份判断该月的天数。一年中,1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,闰年的2月有29天,平年的2月有28天。
输出格式:“year年month月有30天”
“”"

#第1步:使用input获取年份赋值给year
year = int(input())
#第2步:使用input获取月份赋值给month
month = int(input())
#第3步:判断年份是否为闰年以及月份的天数,并按照输出格式打印信息
leap_year = False
day = 0
if year%400 == 0 or (year%4 == 0 and year%100 != 0):
    leap_year = True
if month == 2 and leap_year:
    day = 29
elif month == 2:
    day = 28
elif (month < 8 and month%2==0) or (month >= 8 and month%2==1):
    day = 30
else:
    day = 31
print("%d年%d月有%d天" % (year,month,day))

6.一元二次方程求解
“”“参考答案
任务:求解一元二次方程 ax2+bx+c=0 的根,系数 a、b、c 的值从输入获取。(本关a,b,c都是整型)
“””

#第1步:使用input获取三个系数值,分别赋值给a、b、c
from math import sqrt
a = int(input())
b = int(input())
c = int(input())
x = 0
d = b**2 - 4*a*c
#第2步:求解一元二次方程,并打印结果x的值
if a == 0 and b != 0:
    x =-(c/b)
    print(x)
elif a != 0 and d > 0:
    x1 = (-b+sqrt(d))/(2*a)
    x2 = (-b-sqrt(d))/(2*a)
    print("x1为%f,x2为%f"%(x1,x2))
elif a != 0 and d == 0:
    x = -b/(2*a) 
    print(x)
else :
    print("无解")





你可能感兴趣的:(python)