笔试-作业帮-180925
优质
小牛编辑
142浏览
2023-12-01
- 单选 5,填空 5,编程 2,问答 2
- 编程不允许跳出页面
1. 点对距离
Python(60%)
- 试了各种情况,不知道哪里有问题
from math import ceil, floor
def foo(ax, ay, bx, by): d = ((ax - bx)2 + (ay - by)2)**0.5
return d
k = int(input()) n = int(input())
P = [] for _ in range(n): x, y = list(map(float, input().split())) P.append([x, y])
D = [] for i in range(n): for j in range(i+1, n): d = foo(P[i][0], P[i][1], P[j][0], P[j][1]) D.append(d)
D.sort()
N = len(D) - 1
ans = D[ceil(N * (k / 100))]
print(round(ans, 5))
## 2. 扩展型表达式求值
<div align="center"><img src="https://www.xnip.cn/wp-content/uploads/2022/08/20180925203442.png" height="" /></div>
<div align="center"><img src="https://www.xnip.cn/wp-content/uploads/2022/08/20180925203454.png" height="" /></div>
<div align="center"><img src="https://www.xnip.cn/wp-content/uploads/2022/08/20180925203504.png" height="" /></div>
**Python**(57.14%)
- 不能跳出页面,实在不想写这种题,偷鸡过了 57%
```python
def bar(s):
while "%" in s:
i = s.find("%")
j = i - 1
while s[j].isdigit():
j -= 1
s = s[:j+1] + str(int(s[j+1: i]) / 100) + s[i+1:]
return s
def foo(s):
if "**" in s or "++" in s or "--" in s:
return "error"
s = bar(s)
try:
ans = eval(s)
if isinstance(ans, int):
return "%d" % ans
else:
return "%0.3f" % ans
#return round(ans, 3)
except e:
return "error"
s = input()
ans = foo(s)
#print(bar(s))
print(ans)