Python练习题 基本语法(1-18)二

Demo09

(几何方面:三角形的面积)编写一个程序,提示用户输人三角形的三个顶点(x1, y1)、 (x2,y2)和(x3,y3)然后显示它的面积。计算三角形面积的公式如下所示。 s = (sidel + side2 + side3)/2 area =√s(s - sidel)(s - side2)(s - side3) 这里是一一个示例运行。

Enter three points for a triangle: 1.5, -3.4,4.6,5,
9.5,-3.4 -Enter
The area of the triang1e is 33.6
在这里插入图片描述

程序编辑:

"""
数据:三个点的坐标 x1y1 x2y2 x3y3
步骤:
1.提示用输入三个点坐标
2.两两计算边长
3.计算半周长s
4.计算面积
"""
x1, y1, x2, y2, x3, y3 = eval(input("Enter three points for a triangle:"))
side1 = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5
side2 = ((x3 - x1) ** 2 + (y3 - y1) ** 2) ** 0.5
side3 = ((x2 - x3) ** 2 + (y2 - y3) ** 2) ** 0.5
s = (side1 + side2 + side3) / 2
area = (s * (s - side1) * (s - side2) * (s - side3)) ** 0.5
print("The area of the triangle is %.1f" % area)

测试:

J:\python\python.exe K:/python2020.8.4练习/PythonCode/day1/day02/day09.py
Enter three points for a triangle:1.5,-3.4,4.6,5,9.5,-3.4
The area of the triangle is 33.6

Process finished with exit code 0

在这里插入图片描述

Demo10
**

(几何方面:正六边形的面积)编写一个程序,提示用户输人正六边形的边长并显示它的面积。 33计算正六边形面积的公式是二 其中s是边长。这里-个示例运行。

**
Enter the side: 5.5 Erter
The area of the hexagon is 78. 5895
在这里插入图片描述

程序编辑:

# 数据:边长,面积
# 步骤:
# 1.提示用户输入正六边形的边长
# 2.列出正六边形的面积计算公式
# 3.算出的面积值进行输出

s = float(input("输入正六边形的边长:"))
area = 3 * 3 ** 0.5 / 2 * s ** 2
print("正六边形的面积为:%f\n"%(area))

测试:

J:\python\python.exe K:/python2020.8.4练习/PythonCode/day1/day02/day10.py
输入正六边形的边长:5.5
正六边形的面积为:78.591805

Process finished with exit code 0

在这里插入图片描述

Demo11
**

(当前时间)程序清单2-7给出的程序显示当前的GMT时间。修改程序使之提示用户输入时区, 这个时区是用距离GMT的小时数表示,然后显示指定时区的时间。这里是一个示例运行。

**
Enter the time zone offset to GMT: -5 P Enter
The current time is 4:50:34

程序编辑:

# import time
# time.time()
# 1596595829.7057564 s
# 以秒为单位以浮点数返回历元之后的时间
# 数据:秒 分钟 小时 总秒数
# 步骤:
# 1.将历元时间获得到秒数取整 总秒数 total_seconds
# 2.计算当前的秒数 cur_seconds = total_seconds % 60
# 3.计算总分钟数 total_minutes = total_seconds // 60
# 4.计算当前的分钟数 cur_minutes = total_minutes % 60
# 5.计算总小时 total_hours = total_minutes // 60
# 6.计算当前的小时 cur_hours = total_hours % 24
import time
offset = int(input("Enter the time zone offset to GMT:"))
total_seconds = int(time.time())
cur_seconds = total_seconds % 60
total_minutes = total_seconds // 60
cur_minutes = total_minutes % 60
total_hours = total_minutes // 60
cur_hours = (total_hours % 24 + offset) % 24
print(cur_hours, ":", cur_minutes, ":", cur_seconds)

测试:

J:\python\python.exe K:/python2020.8.4练习/PythonCode/day1/day02/day11.py
Enter the time zone offset to GMT:8
16 : 24 : 51

Process finished with exit code 0

在这里插入图片描述

**
Demo12**
**

(金融应用程序:复利值)假设你每月存100美元到- -个年利率为5%的储蓄账户。因此,月利 率是0.05/12-0.004 17。第一个月后,账户里的数目变为: .

**
100★(1 + 0.00417) =100.417
第二个月后,账户里的数目变为:
(100 + 100.417)*(1 + 0.00417) = 201.252
第三个月后,账户里的数目变为:
(100 + 201.252) * (1 + 0.00417) = 302. 507
依次类推。
编写一个程序,提示用户键入每月存款数然后显示六个月后的账户总额。这里是程序的一
个示例运行。
Enter the monthly saving amount: 100
After the sixth month, the account value is 608. 81

程序编辑:

# 数据:存款数,最终账户数目、
# 步骤:
# 1.请用户输入存款数,利率0.05/12=0.00417
# 2.列公式计算6个月后的数目
# 3,输出
a = float(input("请用户输入存款额度:"))
b = a * (1 + 0.00417)  #第一个月的账户数目
c = (100 + b) * (1 + 0.00417)  #第二个月的账户数目
d = (100 + c) * (1 + 0.00417)  #第三个月的账户数目
e = (100 + d) * (1 + 0.00417)  #第四个月的账户数目
f = (100 + e) * (1 + 0.00417)  #第五个月的账户数目
g = (100 + f) * (1 + 0.00417)  #第六个月的账户数目
print("六个月后的账户总额为:%.2f"%(g) )

测试:

J:\python\python.exe K:/python2020.8.4练习/PythonCode/day1/day02/day12.py
请用户输入存款额度:100
六个月后的账户总额为:608.82

Process finished with exit code 0

在这里插入图片描述

Demo13
**

(金融应用程序:计算未来投资额)使用下面的公式编写一个读取投资额、年利率和年数然后显 示未来投资额的程序: 未来投资额=投资额x (1+月投资率)月数 ** ** ## 例如:如果你输人金额1000,而年利率为4.25%,年数为1.那么未来投资总额就是 1043.33。这里是一个示例运行。 **

Enter investment amount: 1000 B e
Enter annua1 interest rate: 4.25 P Enter
Enter number of years: 1 Enter
Accumulated value is 1043.33

在这里插入图片描述

程序编辑:

# 数据:金额,利率,年数,未来投资总额
# 步骤:
# 1.请用户输入金额,利率,年数,
# 2.列公式计算
# 3,输出
a = float(input("请用户输入金额:"))
b = float(input("请用户输入利率:"))
years = float(input("请用户输入年数:"))
sum = a * (1 + b * 0.01) ** years
print("未来投资总额为:%.2f"%(sum) )

测试:

J:\python\python.exe K:/python2020.8.4练习/PythonCode/day1/day02/day13.py
请用户输入金额:1000
请用户输入利率:4.25
请用户输入年数:1
未来投资总额为:1042.50

Process finished with exit code 0

在这里插入图片描述

Demo14
**

你可以使用数学函数解决许多计算问题。例如:已知三角形的三条边,你可以使用下面 的公式计算出三角形的三个角。

**
在这里插入图片描述

程序编辑:

import math

a, b, c = eval(input("Enter three sides of a triangle:"))
A = math.acos((a * a - b * b - c * c) / (-2 * b * c))
B = math.acos((b * b - c * c - a * a) / (-2 * a * c))
C = math.acos((c * c - a * a - b * b) / (-2 * a * b))
A = round(math.degrees(A))
B = round(math.degrees(B))
C = round(math.degrees(C))
print("A=%d°,B=%d°,C=%d°" % (A, B, C))

测试:

J:\python\python.exe K:/python2020.8.4练习/PythonCode/day1/day02/day14.py
Enter three sides of a triangle:3,4,5
A=37°,B=53°,C=90°
Process finished with exit code 0

在这里插入图片描述

Demo15

**

(几何学:一个正多边形的面积)正多边形是边长相等的多边形,而且所有的角相等。计算正多边 形面积的公式是: Area = 这里的s是边长。编写一个程序,提示用户输人边数以及正多边形的边长,然后显示它的面 积。下面是一个示例运行。

**
Enter the number of sides: 5
Enter the side: 6.5
The area of the polygon is 72. 69017017488385
在这里插入图片描述

程序编辑:

n = float(input("请用户输入正多边形有几条边:"))
s = float(input("请用户输入正多边形的边长:"))
import math

area = n * s ** 2 / (4 * math.tan(math.pi / n))  #正多边形的面积

print("%d正多边形的面积为:%.10f"%(n,area) )

测试:

J:\python\python.exe K:/python2020.8.4练习/PythonCode/day1/day02/15.py
请用户输入正多边形有几条边:5
请用户输入正多边形的边长:6.5
5正多边形的面积为:72.6901701749

Process finished with exit code 0

在这里插入图片描述

Demo16
**

(反向数字)编写一个程序,提示用户输入一个四位整数,然后显示颠倒各位数字后的数。下面 是一个示例运行。

**
Enter an integer: 3125 Ender
The reversed number is 5213
程序编辑:

#  提示:使用%来提取数字,使用//运算符来去除掉被提取的数字
# 1.观察数字是一个四位数的整数
# 步骤
# 1.输入这个四位数的整数
# 2.使用%来提取数字,使用//运算符来去除掉被提取的数字
# 3.把提取出来的数字,输出

number =  int(input("Enter an integer:") )
_num1 = number % 10  #取余数    输入数字的倒数第一个数
_num2 = number // 10 #取千位,百位和十位数
_num3 = _num2 % 10 # 取余数     输入数字的倒数第二个数
_num4 = _num2  // 10 #取千位和百位数
_num5 = _num4 % 10 # 取余数     输入数字的倒数第三个数
_num6 = _num4  // 10 #取千位
_num7 = _num6 % 10 # 取余数     输入数字的倒数第四个数
print("The reversed number is %d%d%d%d\n"%(_num1 ,_num3 ,_num5 ,_num7 ) )

测试:

J:\python\python.exe K:/python2020.8.4练习/PythonCode/day1/day02/16.py
Enter an integer:3125
The reversed number is 5213


Process finished with exit code 0

在这里插入图片描述

Demo17

**

现在,我们来看一个使用本节所讲的特性的示例程序。假如你想开发一-个 程序将一定 数 量的钱分类成几个更小货币单元。该程序让用户输人总金额,这是一个用美元和美分表示的 浮点值,然后输出一个报告,罗列出等价的货币:美元、两角五分硬币、一角硬币、五分硬 币以及美分个数,如示例运行所示。 你的程序应该报告最大数目的美元,然后依次是二角五分硬币、一角硬币、五分硬币以 及美分个数,这样就得到最小量的硬币。

**
下面是编写这个程序的步骤:
1 )提示用户输入一个十进制带小数点的数字,例如: 11.56。
2)将钱数( 11.56)转换成分数( 1156)。
3)将分数除以100得到美元个数。使用分数%100得到余数即是剩余的分数。
4)将剩余的分数除以25得到两角五分硬币的个数。使用分数%25得到余数即是剩余
的分数。
5)将剩余的分数除以10得到一角硬币的个数。使用分数%10得到余数即是剩余的分数。
6)将剩余的分数除以5得到五分硬币的个数。使用分数%S得到余数即是剩余的分数。
7)剩余的分数就是–美分硬币数。
8)显示结果。

程序编辑:

"""
数据:美元a 二角五分b 一角c 五分d 一分e
步骤:
1.提示用户输入美元值(最多两个小数点)
2.将这个值换算成分total
3.total // 100 美元硬币个数 a
4.total % 100 剩下的分 -> total
5.total // 25 二角五分硬币个数 b
6.total % 25 剩下的分 -> total
7.total // 10 一角硬币个数 c
8.total % 10 剩下的分 -> total
9.total // 5 五分硬币个数 d
10.剩下就是e
"""
total = float(input("Enter dollas:"))
total = int(total * 100)
a = total // 100
total %= 100
b = total // 25
total %= 25
c = total // 10
total %= 10
d = total // 5
total %= 5
e = total
print("美元的个数有%d个,二角五分的硬币有%d个,一角硬币有%d个,\
五分硬币有%d个以及%d个美分"%(a, b, c, d, e))

测试:

J:\python\python.exe K:/python2020.8.4练习/PythonCode/day1/day02/17.py
Enter dollas:11.56
美元的个数有11个,二角五分的硬币有2个,一角硬币有0个,五分硬币有1个以及1个美分

Process finished with exit code 0

在这里插入图片描述

Demo18
**

(金融应用程序:工资表)编写一个程序,读取下面的信息,然后打印一个工资报表。 雇员姓名(例如:史密斯) 一周工作时间(例如: 10) 每小时报酬(例如: 9.75 ) 联邦预扣税率( 例如: 20%) 州预扣税率(例如: 9%) 一个示例运行如下所示。

**
Enter employee’s name: Smith FEter
Enter number of hours worked in a week: 10 enter
Enter hourly pay rate: 9.75 Enter
Enter federal tax withholding rate: 0.20 e nte
Enter state tax wi thholding rate: 0.09 l F Enter
Employee Name: Smi th
Hours Worked: 10.0
Pay Rate: $9.75
Gross Pay: 597.5 .
Deductions:
Federal Wi thholding (20.0%): $19.5
State Wi thholding (9.0%): $8.77
Total Deduction: $28.27
Net Pay: 569.22

在这里插入图片描述

程序编辑:

a = str(input("Enter employee's name :"))
b = float(input("Enter number of hours worked in a week:"))
c = float(input("Enter hourly pay rate:"))
d = float(input("Enter federal tax withholding rate:"))
e = float(input("Enter state tax wi thholding rate:"))
f = c * 10
g = d * 100
h = f * 0.2
i = f * 0.09
j = e * 100
k = h + i
sum = f - k
print("\nEmployee Name: %s" %a )
print("Hours Worked: %.1f" %b )
print("Pay Rate: $%.2f" %c)
print("Gross Pay: $%.1f" %f )
print("Deductions:")
print("     Federal Wi thholding (%.1f%%):$%.2f" % (g,h))
print("     State Wi thholding (%.1f%%): $%.2f" % (j,i))
print("     Total Deduction:: $%.2f"%k)
print("Net Pay: $%.2f"%sum )

测试:

J:\python\python.exe K:/python2020.8.4练习/PythonCode/day1/day02/18.py
Enter employee's name :smith
Enter number of hours worked in a week:10
Enter hourly pay rate:9.75
Enter federal tax withholding rate:0.20
Enter state tax wi thholding rate:0.09

Employee Name: smith
Hours Worked: 10.0
Pay Rate: $9.75
Gross Pay: $97.5
Deductions:
     Federal Wi thholding (20.0%):$19.50
     State Wi thholding (9.0%): $8.78
     Total Deduction:: $28.27
Net Pay: $69.22

Process finished with exit code 0

在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值