《Python语言程序设计》第三章.练习与作业

Python语言程序设计 封面.jpeg
编程题3.1一个五边形的面积
import turtle
import math

r = eval(input("请输入五边形的边长:"))

s = 2 * r * math.sin(math.pi / 5)
area = 5 * s * s / (4 * math.tan(math.pi / 5))

turtle.circle(r, 360, 5)
print("area=", round(area, 2))

turtle.done()
编程题3.2大圆距离
import math

x1, y1 = eval(input("请输入地球上A点的经纬度 x1,y1:"))
x2, y2 = eval(input("请输入地球上B点的经纬度 x2,y2:"))

radius = 6371.01

# 使用math.radians()将度数转化为弧度数
x1 = math.radians(x1)
y1 = math.radians(y1)
x2 = math.radians(x2)
y2 = math.radians(y2)

d = radius * math.acos(math.sin(x1) * math.sin(x2) +
                       math.cos(x1) * math.cos(x2) * math.cos(y1 - y2))

print("The distance between the two points is {:.2f} km".format(d))
编程题3.3面积估算
'''
地图网站 www.gps-data-team.com/map
68923,Atlanta NE in US,GPS Position: 99°24'18"W, 40°24'37"N for x1,y1
73073,Orlando OK in US,GPS Position: 97°24'29"W, 35°56'40"N for x2,y2
36033,Georgiana AL in US,GPS Position: 86°38'5"W, 31°37'28"N for x3,y3
78.11,Charlotte TX in US,GPS Position: 98°39'20"W, 28°48'51"N for x4,y4
'''
import math

# 经纬度坐标值,转化为数值形式
x1,y1=99.405,40.410
x2,y2=97.408,35.944
x3,y3=86.634,31.624
x4,y4=98.656,28.814

# 经纬度转化为弧度数
x1,y1= math.radians(x1),math.radians(y1)
x2,y2 = math.radians(x2),math.radians(y2)
x3,y3 = math.radians(x3),math.radians(y3)
x4,y4 = math.radians(x4),math.radians(y4)

radius = 6371.01

# 计算城市间距离

dAO=radius * math.acos(math.sin(x1) * math.sin(x2) +
                       math.cos(x1) * math.cos(x2) * math.cos(y1 - y2))

dAG=radius * math.acos(math.sin(x1) * math.sin(x3) +
                       math.cos(x1) * math.cos(x3) * math.cos(y1 - y3))

dAC=radius * math.acos(math.sin(x1) * math.sin(x4) +
                       math.cos(x1) * math.cos(x4) * math.cos(y1 - y4))

dOG=radius * math.acos(math.sin(x3) * math.sin(x2) +
                       math.cos(x3) * math.cos(x2) * math.cos(y3 - y2))

dCG=radius * math.acos(math.sin(x3) * math.sin(x4) +
                       math.cos(x3) * math.cos(x4) * math.cos(y3 - y4))

# 计算三角形的面积,ppt p63 面积公式
sAOG=(dAO+dAG+dOG)/2

sACG=(dAC+dAG+dCG)/2

areaAOG=math.sqrt(sAOG*(sAOG-dAG)*(sAOG-dAO)*(sAOG-dOG))

areaACG=math.sqrt(sACG*(sACG-dAG)*(sACG-dAC)*(sACG-dCG))

areaTotal=areaAOG+areaACG

# 输出结果
print("areaTotal = ",areaTotal)
编程题3.4五角形的面积
import math

s = eval(input("请输入五角形的边长 s = "))

area = 5 * math.pow(s, 2) / (4 * math.tan(math.pi / 5))            # 注意 / 符号后面 (),否则计算次序会错

print("area = ", area)
编程题3.5一个正多边形的面积
import math

n, s = eval(input("请分别输入正多边形的边数n,边长s:"))

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

print("边长{},正{}边形的面积是 {:.2f}".format(s,n,area))
编程题3.6找出ASCII码的字符
x = eval(input("请输入0-127的ASCII码值:"))

print(chr(x))
编程题3.7大写的随机字符
# 大写的随机字符,对应的数字65~90
import time
a = int(time.time()) % 26 + 65
b = int(time.time()) % 26 + 97
print(chr(a))   # 随机大写,解题关键是确定 A~Z 的 ASCII 范围
print(chr(b))   # 随机小写
编程题3.9工资表
name = input("Enter emplyee's name:")
hoursWorked = eval(input("Enter number of hours worked in a week:"))
payRate = eval(input("Enter hourly pay rate:"))
ftRate = eval(input("Enter federal tax withholding rate:"))
stRate = eval(input("Enter state tax withholding rate:"))

grossPay = hoursWorked * payRate


federalWithholding = hoursWorked * payRate * ftRate
stateWithholding = hoursWorked * payRate * stRate
totalDeduction = federalWithholding + stateWithholding

netPay = grossPay * (1 - ftRate - stRate)

print()
print(
    "Employee Name: {}\nHours Worked: {:.1f}\nPay Rate:${:.1f}\nGross Pay: ${:.1f}".format(
        name,
        hoursWorked,
        payRate,
        grossPay))

print()
print(
    "Decutions:\n  Federal Withholding (20.0%):${:.1f}\n  State Withholding (9.0%):${:.2f}\n  Total Deduction:${:.2f}".format(
        federalWithholding,
        stateWithholding,
        totalDeduction))

print()
print("Net Pay:$ {:.2f} ".format(netPay))
编程题3.10显示统一码
print("\u03b1 \u03b2 \u03b3 \u03b4 \u03b5 \u03b6 \u03b7 \u03b8")
编程题3.11反向数字
num = eval(input("请输入一串整数:"))

print(str(num)[::-1])   # 切片倒序打印
暂未更新3.8,其他暂未更新
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容