Skip to content

Commit 0dc5d67

Browse files
committed
【add】笔试-作业帮-180925
1 parent 921ba21 commit 0dc5d67

File tree

6 files changed

+95
-0
lines changed

6 files changed

+95
-0
lines changed
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
笔试-作业帮-180925
2+
===
3+
- 单选 5,填空 5,编程 2,问答 2
4+
- 编程不允许跳出页面
5+
6+
Index
7+
---
8+
<!-- TOC -->
9+
10+
- [1. 点对距离](#1-点对距离)
11+
- [2. 扩展型表达式求值](#2-扩展型表达式求值)
12+
13+
<!-- /TOC -->
14+
15+
16+
## 1. 点对距离
17+
18+
<div align="center"><img src="../_assets/TIM截图20180925203418.png" height="" /></div>
19+
<div align="center"><img src="../_assets/TIM截图20180925203432.png" height="" /></div>
20+
21+
**Python**(60)
22+
- 试了各种情况,不知道哪里有问题
23+
```python
24+
from math import ceil, floor
25+
26+
def foo(ax, ay, bx, by):
27+
d = ((ax - bx)**2 + (ay - by)**2)**0.5
28+
#return round(d, 5)
29+
return d
30+
31+
k = int(input())
32+
n = int(input())
33+
34+
P = []
35+
for _ in range(n):
36+
x, y = list(map(float, input().split()))
37+
P.append([x, y])
38+
39+
D = []
40+
for i in range(n):
41+
for j in range(i+1, n):
42+
d = foo(P[i][0], P[i][1], P[j][0], P[j][1])
43+
D.append(d)
44+
45+
D.sort()
46+
#print(D)
47+
N = len(D) - 1
48+
#print(N)
49+
#print(ceil(N * (k / 100)))
50+
ans = D[ceil(N * (k / 100))]
51+
#print("%0.5f" % ans)
52+
print(round(ans, 5))
53+
#print(ans)
54+
```
55+
56+
## 2. 扩展型表达式求值
57+
58+
<div align="center"><img src="../_assets/TIM截图20180925203442.png" height="" /></div>
59+
<div align="center"><img src="../_assets/TIM截图20180925203454.png" height="" /></div>
60+
<div align="center"><img src="../_assets/TIM截图20180925203504.png" height="" /></div>
61+
62+
**Python**(57.14%)
63+
- 不能跳出页面,实在不想写这种题,偷鸡过了 57%
64+
```python
65+
def bar(s):
66+
while "%" in s:
67+
i = s.find("%")
68+
j = i - 1
69+
while s[j].isdigit():
70+
j -= 1
71+
72+
s = s[:j+1] + str(int(s[j+1: i]) / 100) + s[i+1:]
73+
return s
74+
75+
def foo(s):
76+
if "**" in s or "++" in s or "--" in s:
77+
return "error"
78+
79+
s = bar(s)
80+
81+
try:
82+
ans = eval(s)
83+
if isinstance(ans, int):
84+
return "%d" % ans
85+
else:
86+
return "%0.3f" % ans
87+
#return round(ans, 3)
88+
except e:
89+
return "error"
90+
91+
s = input()
92+
ans = foo(s)
93+
#print(bar(s))
94+
print(ans)
95+
```

_assets/TIM截图20180925203418.png

22.3 KB
Loading

_assets/TIM截图20180925203432.png

18.1 KB
Loading

_assets/TIM截图20180925203442.png

45.7 KB
Loading

_assets/TIM截图20180925203454.png

23.1 KB
Loading

_assets/TIM截图20180925203504.png

22.8 KB
Loading

0 commit comments

Comments
 (0)