编程题作业集第一部分

 1.摄氏温度转化为华氏温度

题目描述

输入一个摄氏温度的值,将它转变为华氏温度,并将结果输出

转换的公式为如下:


fahrenheit=(9/5)*celsius+32
 

输入输出描述

输入一个值表示摄氏温度celsius

输出华氏温度fahrenheit ,结果保留一位小数点

输入:

43

输出:

109.4

代码如下:

c=float(input("输入:"))

f=(9/5)*c+32

print("输出:%.1f"%f)

2.计算圆柱体的体积

题目描述

输入圆柱的半径和高,并利用如下公式计算圆柱体的底面积和体积。
area=radius*radius*π


volume=area*length

输入输出描述

分别输入圆柱的半径radius和高度length,两个数据之间用空格分隔

输出两行,第一行为圆柱底面积area,第二行为圆柱体积volume,结果保留两位小数点

示例

输入:

5.5 12

输出:

95.03

1140.41

代码如下

radius=float(input("输入圆柱体半径"))

length=float(input("输入圆柱体高"))

area=radius*radius*3.14

volume=area*length

print("底面积:%lf\n 体积:%lf"%(area,length))

3.将英尺数转换为米数

题目描述

输入英尺数然后将它转换为米数,并输出结果,一英尺等于0.305米

输入输出描述

输入一个数据表示英尺数

输出转换后的米数,结果保留四位小数点

示例

输入:

16.5

输出:

5.0325

代码如下

foot=float(input("请输入你要换算的英尺数:"))

meter=foot*0.305

print("输出%.4f" %meter)

4.计算小费

题目描述

读取小计和酬金率,然后计算小费以及合计金额。例如客户的小计为10元,酬金率为15%,那么小费是1.5元,合计金额为11.5元

输入输出描述

分别输入小计和酬金率,两个数据用之间用空格分隔

输出两行,第一行为小费,第二行为合计金额,结果保留两位小数

示例

输入:

15.69 15

输出:

2.35

18.04

代码如下

xj=float(input("请输入小计"))

cj=float(input("请输入酬金"))

xf=xj*cj/100

je=xf+xj

print("小费为:%.2f" %xf)

print("合计金额为:%2.f" %je)

5.对一个整数中的各位数字求和

题目描述

读取一个0到1000之间的整数,并计算它各位数字之和

输入输出描述

输入一个[0,1000]之间的整数

输出该数字的各位数字之和

示例1

输入:

999

输出:

27

解释:

999各位数之和为9 + 9 + 9 = 27

示例2

输入:

12

输出:

3

代码如下

num=int(input("请输入一个0~10000的整数:"))

a=int((num/100)%10)

b=int((num/10)%10)

c=num%10

sum=a+b+c

print("各位数字的和为:",sum)

6.计算年数和天数

题目描述

输入分钟数,然后将该分钟数转换为年数和天数,假定一年有365天

输入输出描述

输入一个分钟数

输出两行,第一行为年数,第二行为天数

示例

输入:

1000000000

输出:

1902

214

代码如下

minute=int(input("请输入一个f分钟数:"))

year=minute/525600

print("年数为",year)

day=minute/1440

print("天数为:",day)

7.计算能量

题目描述

水从初始温度加热到最终温度是需要能量的,请计算需要多少能量,公式如下:
Q = M * (finalTemperature - initialTemperature) * 4184

这里的M是按千克计的水量,初始温度和最终温度均为摄氏度,热量Q以焦耳计

输入输出描述

输入三行数据,第一行输入水量,第二行输入初始温度,第三行输入最终温度

输出所需的能量值,结果保留一位小数

示例

输入:

55.5

3.5

10.5

输出:

1625484.0

代码如下

a=float(input("请输入水量:"))

b=float(input("请输入初始温度:"))

c=float(input("请输入最终温度:"))

Q=a*(b-c)*4184

print("能量值为:",Q)

8.分割数字

题目描述

输入一个四位整数,并以反向顺序显示

输入输出描述

输入一个四位整数

输出四行,第一行为个位,第二行为十位,第三行为百位,第四行为千位

示例

输入:

5213

输出:

3

1

2

5

代码如下

num=int(input("请输入一个四位整数:"))

d=num%10

print("个位数为" ,d)

c=int(num/10)%10

print("十位数为",c)

b=int(num/100)%10

print("百位数为",b)

a=int(num/1000)%10

print("千位数为",a)

9.计算三角形的面积

题目描述

输入三角形的三个顶点坐标,并计算其面积,计算公式如下
s=(side1+side2+side3)/2 \\ area = \sqrt{s(s-side1)(s-side2)(s-side3)}

输入输出描述

输入六个数据,分别表示三角形三个顶点的坐标x1、y1、x2、y2、x3和y3,数据之间用空格分隔

输出三角形的面积,结果保留一位小数

示例

输入:

1.5 -3.4 4.6 5 9.5 -3.4

输出:

33.6

代码如下

x1,y1=map(int,input("请输入顶点坐标").split(" "))

x2,y2=map(int,input("请输入顶点坐标").split(" "))

x3,y3=map(int,input("请输入顶点坐标").split(" "))

side1=((x1-x2)**2+(y1-y2)**2)**0.5

side2=((x2-x3)**2+(y2-y3)**2)**0.5

side3=((x1-x3)**2+(y1-y3)**2)**0.5

p=(side1+side2+side3)/2

area=(p*(p-side1)*(p-side2)*(p-side3))

print("三角形的面积为:%.1f"% area)

11计算三角形的三个角

题目描述

输入三角形的三个顶点坐标,并计算该三角形的三个角分别是多少(角度制)
A=acos((a*a-b*b-c*c)/(-2*b*c))

B=acos((b*b-a*a-c*c)/(-2*a*c))

C=acos((c*c-b*b-a*a)/(-2*a*b)) 

其中a、b、c分别表示三条边,A、B、C分别表示三边对应的角

输入输出描述

输入六个数据,分别表示三角形三个顶点的坐标x1、y1、x2、y2、x3和y3,数据之间用空格分隔

输出三行,分别为A、B、C三个角的度数,结果保留两位小数

示例

输入:

1 1 6.5 1 6.5 2.5

输出:

15.26

90.00

74.74

代码如下

x1,y1=map(int,input("请输入顶点坐标").split(" "))

x2,y2=map(int,input("请输入顶点坐标").split(" "))

x3,y3=map(int,input("请输入顶点坐标").split(" "))

a=((x1-x2)**2+(y1-y2)**2)**0.5

b=((x2-x3)**2+(y2-y3)**2)**0.5

c=((x1-x3)**2+(y1-y3)**2)**0.5

A=a*cos((a*a-b*b-c*c)/(-2*b*c))

B=a*cos((b*b-a*a-c*c)/(-2*a*c))

C=a*cos((c*c-b*b-a*a)/(-2*a*b))

print("角A为:%.1f")

print("角B为:%.1f")

print("角C为:%.1f")

12.最小数量的硬币

题目描述

假设硬币种类分为:一元硬币、两角五分硬币、一角硬币、五分硬币、一分硬币

输入总金额,并将总金额兑换成若干个硬币,并保证所兑换的硬币个数最少

输入输出描述

输入总金额

输出每种硬币的个数

示例

输入:

11.56

输出:

11个一元硬币

2个两角五分硬币

0个一角硬币

1个五分硬币

1个一分硬币

代码如下

money = float(input("请输入总金额"))

yiyuan = 0

liangjiaowu = 0

yijiao = 0

wufen = 0

yifen = 0

while money >= 1 :

    yiyuan += 1

    money -= 1

    if money < 1 :

        break

while money >= 0.25 :

    liangjiaowu += 1

    money -= 0.25

    if money < 0.25 :

        break

while money >= 0.1 :

    yijiao += 1

    money -= 0.1

    if money < 0.1 :

        break

while money >= 0.05 :

    wufen += 1

    money -= 0.05

    if money < 0.05 :

        break

while money >= 0.01 :

    yifen += 1

    money -= 0.01

    if money == 0 :

        break

print(f"{yiyuan}个一元硬币")

print(f"{liangjiaowu}个两角五分硬币")

print(f"{yijiao}个一角硬币")

print(f"{wufen}个五分硬币")

print(f"{yifen}个一分硬币")

 13.正多边形的面积

题目描述

正多边形是边长相等的多边形,而且所有的角相等,计算正多边形的公式为:
area = \frac{n*s^2}{4*tan(\frac{π}{n})}

输入输出描述

输入两个数据分别表示边的个数n和边的长度s,数据之间用空格分隔

输出边长为s的正n多边形的面积,结果保留两位小数

示例

输入:

5 6.5

输出:

72.69

代码如下

import math

n,s = map(float,input("请输入两个数").split(" "))

area = (n * (s ** 2)) / (4 * math.tan(math.pi / n))

print("三角形面积:",area)

14.计算身体质量指数

题目描述

BMI是根据体重测量健康的方式,通过以千克为单位的体重除以以米为单位的身高的平方计算而出

BMI指数解读如下:

BMI解释
BMI < 18.5超轻
18.5 ≤ BMI < 25.0标准
25.0 ≤ BMI < 30.0超重
30.0 ≤ BMI肥胖

输入输出描述

输入体重和身高,数据之间用空格分隔

输出BMI指数结果

示例

输入:

60 1.8

输出:

标准

代码如下

a,b = map(float,input("请输入两个数").split(" "))

BMI = a/(b*b)

if BMI<18.5:

    print("超轻")

elif 18.5 <= BMI <25.0:

    print("标准")

elif 25.0 <= BMI <30.0:

    print("超重")

else:

    print("肥胖")

15.判断闰年(写过)

16.中彩票

题目描述

随机产生一个两位数数字,然后用户输入一个两位数数字,并根据以下规则判定用户赢得的奖金是多少

(1)输入的数字和随机产生的数字完全相同(包括顺序),奖金为10000元

(2)输入的数字和随机产生的数字相同(不包括顺序),奖金为3000元

(3)输入的数字和随机产生的数字有一位数相同,奖金为1000美元

(4)输入的数字和随机产生的数字都不相同,没有奖金,0元

输入输出描述

输入一个两位数

输出两行,第一行输出那个随机产生的两位数,第二行输出用户的奖金

示例1

输入:

12

输出:

12

10000

示例2

输入:

12

输出:

21

3000

示例3

输入:

12

输出:

23

1000

示例4

输入:

12

输出:

45

0

代码如下

import random
com = random.randint(10,99)
a = int(input("输入一个两位数的数字:"))
b = a // 10
c = a % 10
d = com // 10
e = com % 10
if b == d and c == e:
    print("奖金10000美元")
elif b == e and c == d:
    print("奖金3000美元")
elif b == d or b == e or c == d or c == e:
    print("奖金1000美元")
else:
    print("0美元")
 

17.解一元二次方程

18.解2×2线程方程

19未来是周几

题目描述

输入表示今天是一周内哪一天的数字(星期天是0,星期一是1,...,星期六是6)

并输入今天之后到未来某天的天数,然后输出该天是星期几

输入输出描述

输入两个数据,分别表示今日星期几的数字和未来某天的天数,数据之间用空格分隔

输出未来某天是星期几

示例1

输入:

1 3

输出:

星期四

示例2

输入:

0 31

输出:

星期三

代码如下

Day = int(input("今天是周几:"))

day1 = int(input("未来几天:"))

day2 = Day + day1

a = day2 % 7

if day1 == 0:

    Day = 'Sunday'

elif day1 == 1:

    Day = 'Monday'

elif day1 == 2:

    Day = 'Tuesday'

elif day1 == 3:

    Day = 'Wednesday'

elif day1 == 4:

    Day = 'Thursday'

elif day1 == 5:

    Day = 'Friday'

else:

    Day = 'Saturday'

if a == 0:

    today = 'Sunday'

elif a == 1:

    today = 'Monday'

elif a == 2:

    today = 'Tuesday'

elif a == 3:

    today = 'Wednesday'

elif a == 4:

    today = 'Thursday'

elif a == 5:

    today = 'Friday'

else:

    today = 'Saturday'

print("Todays is %s " %today)

20.本年中的第几天

题目描述

给定某年、某月、某日的一个日期,计算该日是今年中的第几天

输入输出描述

输入三个数据分别表示年、月、日,数据之间用空格分隔

输出该日是今年中的第几天

示例1

输入:

2023 1 28

输出:

28

示例2

输入:

2023 3 2

输出:

61

代码如下

import time

y=input('请输入年份')

m=input('请输入月份')

d=input('请输入日期')

my_time=time.strptime('{} {} {}'.format(y,m,d),'%Y %m %d')

print('日期:{}-{}-{}'.format(y,m,d))

print('这天是该年的第%s天'%my_time.tm_yday)

21.剪刀石头布I(写过)

22.三角形的周长

import math

a,b,c=input().split()

a,b,c=int(a),int(b),int(c)

if a+c>b and a+b>c and b+c>a:  

    s=a+b+c

    print("",s)

else:

    print("不能构成三角形")

23.直线的交点

题目描述

直线A上的两个点是$(x1,y1)$和$(x2,y2)$,直线B上的两个点是$(x3,y3)$和$(x4,y4)$

如果两条直线有交点,可以通过解下面的线性等式找出:

(y_1-y_2)x-(x_1-x_2)y=(y_1-y_2)x_1-(x_1-x_2)y_1

(y_3-y_4)x-(x_3-x_4)y=(y_3-y_4)x_3-(x_3-x_4)y_3
 

如果没有解,则表示两条直线平行

输入输出描述

输入八个数据,分别为x1 y1 x2 y2 x3 y3 x4 y4,数据之间用空格分隔

如有交点则输出交点的坐标x y,否则输出两条直线平行

示例1

输入:

2 2 5 -1 4 2 -1 -2

输出:

2.89 1.11

示例2

输入:

2 2 7 6 4 2 -1 -2

输出:

两条直线平行

24.回文数

题目描述

输入一个三位整数,然后判断其是否为一个回文数

如果一个数从左向右和从右向左读取时是一样的,那么这个数就是回文数

输入输出描述

输入一个数字

输出Yes表示是回文数,否则输出No

示例1

输入:

121

输出:

Yes

示例2

输入:

123

输出:

No

代码如下

a = input("请输入一个数")

b = a[::-1]

if a == b :

    print("yes")

else:

    print("no")    

25.两个矩形

题目描述

判断两个矩形之间的关系:包含,重叠,相离

输入输出描述

输入两行,每行四个数据,分别是矩形的中心坐标x、y和矩形的宽、高

输出两者的关系

示例1

输入:

2.5 4 2.5 43

1.5 5 0.5 3

输出:

包含

示例2

输入:

1 2 3 5.5

3 4 4.5 5

输出:

重叠

示例3

输入:

1 2 3 3

40 45 3 2

输出:

相离

代码如下

x1,y1,b1,a1 = map(float,input().split(" "))

x2,y2,b2,a2 = map(float,input().split(" "))

if abs(x1 - x2) > abs((a1 + a2) / 2) and abs(y1 - y2) > abs((b1 + b2) / 2) or abs(x1 - x2) > abs((b1 + b2) / 2) and abs(y1 - y2) > abs((a1 + a2) / 2) :

    print("相离")

elif abs(x1 - x2) < a2 / 2 or abs(x1 - x2) < a1 :

    if abs(x1 - x2) > abs(b1 - b2) or abs(y1 -y2) > abs(a1 - a2) :

        print("重叠")

    else :

        print("包含")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值