当前位置:   article > 正文

西北工业大学NOJ Python程序设计作业11-20_noj答案python

noj答案python

各位同学,创作不易,能否在文末打赏一瓶饮料呢?(^ _ ^)(文章末尾右下角处)
在这里插入图片描述

西北工业大学NOJ-Python程序设计作业题解集合:
NOJ-Python程序设计:第1季:水题(Season 1-Easy) (1-10)
NOJ-Python程序设计:第2季:小段代码(Season 2-Snippet) (11-20)
NOJ-Python程序设计:第3季:循环(Season 3-Loop) (21-30)
NOJ-Python程序设计:第4季:枚举算法(Season 4-Enumeration algorithm) (31-40)
NOJ-Python程序设计:第5季:模块化(Season 5-Modularization) (41-50)
NOJ-Python程序设计:第6季:字符串(Season 6-String) (51-60)
NOJ-Python程序设计:第7季:列表与元组(Season 7-List and Tuple) (61-70)
NOJ-Python程序设计:第8季:集合与字典(Season 8-Sets and Dictionary) (71-80)
NOJ-Python程序设计:第9季:类(Season 9-Class) (81-90)
NOJ-Python程序设计:第10季:挑战算法(Season 10-Challenges) (91-100)

第2季:小段代码(Season 2-Snippet) (11-20)

img

前置知识点

建议大概了解下述函数库的基本运用之后再完成题目会更顺利。

math库
  • 导入函数库import math
  • 求余切:math.atan()的输入参数是弧度而不是度。
  • 求平方根:math.sqrt()
  • 求次方: math.pow(x,y)相当于求 x y x^y xy
  • 求反余弦值:math.acos()
fractions库

可以同时提供分子(numerator)和分母(denominator)给构造函数用于实例化Fraction类,但两者必须同时是int类型或者numbers.Rational类型,否则会抛出类型错误。当分母为0,初始化的时候会导致抛出异常ZeroDivisionError。(自带约分简化的功能)

  • 导入fractions库import fractions
  • 创建一个分数x=fractions.Fraction(2,3)
  • 提取分子、分母:a,c=x.numerator,x.denominator
  • 创建的分数可以直接+、-、*、÷
round函数

round() 方法返回浮点数x的四舍五入值。(round函数并不总是四舍五入,会受计算机表示精度的影响,同时也受python版本影响)

语法:round( x [, n] )

  • x:数值表达式。
  • n:数值表达式,表示从小数点位数。(如果不填入参数n,则默认四舍五入到整数;如果填了n,表示四舍五入保留n位小数)

给定经纬度计算地球上两点之间的距离

img

import math
def hav(theta):
    return math.pow(math.sin(theta/2),2)
def Cal(w1,j1,w2,j2):
    w1=math.radians(w1)
    j1=math.radians(j1)
    w2=math.radians(w2)
    j2=math.radians(j2)
    d1=abs(w2-w1)
    d2=abs(j2-j1)
    h=hav(d1)+math.cos(w1)*math.cos(w2)*hav(d2)
    ans=math.asin(math.sqrt(h))*2*6371
    return ans
    pass

w1=float(input())
j1=float(input())
w2=float(input())
j2=float(input())
ans=Cal(w1,j1,w2,j2)
print("{:.4f}km".format(ans))
# Code By Phoenix_ZH
'''
34.260958
108.942369
55.755825
37.617298
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

比率

img

import fractions
n=float(input())
n=int(n*10000000)
a=10000000#用于保护准确度
print(fractions.Fraction(n,10000000))
# Code By Phoenix_ZH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

RGB转换HSV

img

R=float(input())/255
G=float(input())/255
B=float(input())/255
MAX,MIN=max(R,G,B),min(R,G,B)
V,S=MAX,(MAX-MIN)/MAX
if MAX==R:
    H=60*((MAX==R)*(0+((G - B)/(MAX-MIN))))
if MAX==G:
    H=60*(MAX==G)*(2+((B - R)/(MAX-MIN)))
if MAX==B:
    H=60*(MAX==B)*(4+(R-G)/(MAX-MIN))
# H=60*((MAX==R)*(0+((G - B)/(MAX-MIN)))+(MAX==G)*(2+((B - R)/(MAX-MIN)))+(MAX==B)*(4+(R-G)/(MAX-MIN)))
if(H<0):
    H+=360
print("%.4f"%H,"%.4f%%"%(S*100),"%.4f%%"%(V*100),sep=",")
# Code By Phoenix_ZH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

指定精度舍入

img

f=float(input())
n=int(input())
print(round(f,n))

# Code By Phoenix_ZH
  • 1
  • 2
  • 3
  • 4
  • 5

直角坐标转换为极坐标

img

import math
x=int(input())
y=int(input())
p=math.sqrt(x*x+y*y)
t=math.atan(y/x)
print("%.4f"%p,"%.4f"%t,sep=',')

# Code By Phoenix_ZH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

计算狗的年龄

img

n=int(input())
ans=10.5*min(n,2)+4*max(n-2,0)
print(int(ans))

# Code By Phoenix_ZH
  • 1
  • 2
  • 3
  • 4
  • 5

圆柱

img

import math
h=float(input())
r=float(input())
PI=math.acos(-1.0)
V=PI*r*r*h
S=PI*r*r*2+2*PI*r*h
print("%.4f"%V)
print("%.4f"%S)
# Code By Phoenix_ZH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

风寒指数

img

import math
v=float(input())
T=float(input())
ans=13.12+0.6215*T-math.pow(v,0.16)*11.37+0.3965*T*math.pow(v,0.16)
print(round(ans))

# Code By Phoenix_ZH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

两个分数的加、减、乘、除

img

import fractions
#By using fractions
a=int(input())
b=int(input())
c=int(input())
d=int(input())
s1=fractions.Fraction(a,c)
s2=fractions.Fraction(b,d)
a,c=s1.numerator,s1.denominator
b,d=s2.numerator,s2.denominator

print("(",a,"/",c,")","+","(",b,"/",d,")","=",s1+s2,sep="")
print("(",a,"/",c,")","-","(",b,"/",d,")","=",s1-s2,sep="")
print("(",a,"/",c,")","*","(",b,"/",d,")","=",s1*s2,sep="")
print("(",a,"/",c,")","/","(",b,"/",d,")","=",s1/s2,sep="")

# Code By Phoenix_ZH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

勾股定理

img

import math
def isTriangle(a,b,c):
    if a+b > c and a+c > b and b+c > a and abs(a-b) < c and abs(a-c) < b and abs(c-b) < a:
        return True
    else:
        return False

a=int(input())
b=int(input())
c=int(math.sqrt(a*a+b*b))
c2=int(math.sqrt(abs(a*a-b*b)))
if(isTriangle(a, b, c)and(a*a+b*b==c*c)):
        print("c")
elif(isTriangle(a, b, c2)and((a*a+c2*c2==b*b)or(b*b+c2*c2==a*a))):
    if(c2==min(a,b,c2)):
        print('a')
    else:
        print('b')
else:
    print("non")
# Code By Phoenix_ZH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

各位同学,创作不易,打赏一瓶饮料吧!
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/545412
推荐阅读
相关标签
  

闽ICP备14008679号