Skip to content

Commit e375bb6

Browse files
authored
Add files via upload
1 parent 7e6eb5d commit e375bb6

1 file changed

Lines changed: 266 additions & 0 deletions

File tree

Lines changed: 266 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,266 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": 6,
6+
"metadata": {
7+
"collapsed": false
8+
},
9+
"outputs": [
10+
{
11+
"name": "stdout",
12+
"output_type": "stream",
13+
"text": [
14+
"请输入一个符号:*\n",
15+
"请输入行数:5\n",
16+
" * \n",
17+
" * * \n",
18+
" * * * \n",
19+
" * * * * \n",
20+
"* * * * * \n",
21+
" * * * * \n",
22+
" * * * \n",
23+
" * * \n",
24+
" * \n"
25+
]
26+
}
27+
],
28+
"source": [
29+
"#1、写函数,给定符号和行数,如’*’,5,可打印相应行数的如下菱形。主程序输入符号和行数调用该函数进行验证。(20分)\n",
30+
"\n",
31+
"def a():\n",
32+
" m=input('请输入一个符号:')\n",
33+
" n=int(input('请输入行数:'))\n",
34+
" i=1\n",
35+
" while i<=n:\n",
36+
" print(' '*(n-i)+(m+' ')*i)\n",
37+
" i=i+1\n",
38+
" i=i-2\n",
39+
" while i>0:\n",
40+
" print(' '*(n-i)+(m+' ')*i)\n",
41+
" i=i-1\n",
42+
"a()"
43+
]
44+
},
45+
{
46+
"cell_type": "code",
47+
"execution_count": 9,
48+
"metadata": {
49+
"collapsed": false
50+
},
51+
"outputs": [
52+
{
53+
"name": "stdout",
54+
"output_type": "stream",
55+
"text": [
56+
"409114\n"
57+
]
58+
}
59+
],
60+
"source": [
61+
"#2.用递归和非递归分别实现函数求1!+2!+3!+...+n!,主程序以n=10分别调用。(20分)\n",
62+
"\n",
63+
"#递归\n",
64+
"def recusive_factorial(n):\n",
65+
" if n == 0:\n",
66+
" return 1\n",
67+
" else:\n",
68+
" return n*recusive_factorial(n-1)\n",
69+
"def a(n):\n",
70+
" sum=0\n",
71+
" for i in range(1,n+1):\n",
72+
" sum=sum+(recusive_factorial(i-1))\n",
73+
" return sum\n",
74+
"\n",
75+
"print(a(10))"
76+
]
77+
},
78+
{
79+
"cell_type": "code",
80+
"execution_count": 10,
81+
"metadata": {
82+
"collapsed": false
83+
},
84+
"outputs": [
85+
{
86+
"name": "stdout",
87+
"output_type": "stream",
88+
"text": [
89+
"409114\n"
90+
]
91+
}
92+
],
93+
"source": [
94+
"#非递归\n",
95+
"def a(n):\n",
96+
" total=1\n",
97+
" if n==0:\n",
98+
" return 1\n",
99+
" else:\n",
100+
" for i in range(1,n):\n",
101+
" total=total*i\n",
102+
" return total\n",
103+
"def b(n):\n",
104+
" sum=0\n",
105+
" for i in range(1,n+1):\n",
106+
" sum=sum+a(i)\n",
107+
" return sum\n",
108+
"\n",
109+
"print(b(10))"
110+
]
111+
},
112+
{
113+
"cell_type": "code",
114+
"execution_count": 27,
115+
"metadata": {
116+
"collapsed": false
117+
},
118+
"outputs": [
119+
{
120+
"ename": "IndexError",
121+
"evalue": "list assignment index out of range",
122+
"output_type": "error",
123+
"traceback": [
124+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
125+
"\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)",
126+
"\u001b[0;32m<ipython-input-27-e0f2090f80c2>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mnumbers\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m10\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0mnumbers\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrandom\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mchoice\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'ABCDEFGHJKLMNPQRST'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m6\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0mnumbers\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrandom\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrandint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m10\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
127+
"\u001b[0;31mIndexError\u001b[0m: list assignment index out of range"
128+
]
129+
}
130+
],
131+
"source": [
132+
"#3、北京车牌号的一般形式为:“京X-YYYYY”,其中X为字母,Y为字母或者数字,字母不能为I或者O,数字只能0-9之间.\n",
133+
"# 请编写程序模拟选号过程:一次可以随机生成10个车牌号(不能有重复),依次将其编号为0-9,显示给用户。(20分)\n",
134+
"\n",
135+
"import random\n",
136+
"numbers=[]\n",
137+
"for i in range(10):\n",
138+
" numbers[i]=(random.choice('ABCDEFGHJKLMNPQRST'))\n",
139+
" for a in range(1,6):\n",
140+
" numbers[i].append(random.randint(0,10))\n",
141+
"for i in range(10):\n",
142+
" print(i,'京',numbers[i])"
143+
]
144+
},
145+
{
146+
"cell_type": "code",
147+
"execution_count": 18,
148+
"metadata": {
149+
"collapsed": false
150+
},
151+
"outputs": [
152+
{
153+
"name": "stdout",
154+
"output_type": "stream",
155+
"text": [
156+
"4.803844614152614\n"
157+
]
158+
}
159+
],
160+
"source": [
161+
"#4.两个向量间的距离可定义为两个向量间的夹角余弦值,给定三个向量,求向量间距离的最小值。三个向量为:[1,2,3,4],[4,5,6,7],[7,8,9,10](20分)\n",
162+
"\n",
163+
"import math\n",
164+
"\n",
165+
"line1=[1,2,3,4]\n",
166+
"line2=[4,5,6,7]\n",
167+
"line3=[7,8,9,10]\n",
168+
"a=0\n",
169+
"b=0\n",
170+
"c=0\n",
171+
"for i in range(4):\n",
172+
" a=a+line1[i]*line2[i]\n",
173+
"A=a/(math.sqrt(156))\n",
174+
"for i in range(4):\n",
175+
" b=b+line2[i]*line3[i]\n",
176+
"B=b/(math.sqrt(420))\n",
177+
"for i in range(4):\n",
178+
" c=c+line1[i]*line3[i]\n",
179+
"C=c/(math.sqrt(324))\n",
180+
"if A<B:\n",
181+
" d=A\n",
182+
"else:\n",
183+
" d=B\n",
184+
"if C<d:\n",
185+
" d=C\n",
186+
"else:\n",
187+
" d=d\n",
188+
"print(d)"
189+
]
190+
},
191+
{
192+
"cell_type": "code",
193+
"execution_count": 28,
194+
"metadata": {
195+
"collapsed": false
196+
},
197+
"outputs": [
198+
{
199+
"ename": "FileNotFoundError",
200+
"evalue": "[Errno 2] No such file or directory: 'd:\\\\temp\\\\a.txt'",
201+
"output_type": "error",
202+
"traceback": [
203+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
204+
"\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
205+
"\u001b[0;32m<ipython-input-28-27f95a66c5e6>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0mA\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrandom\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrandint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m10000\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0mB\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrandom\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrandint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m15000\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m \u001b[0mfh\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34mr'd:\\temp\\a.txt'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'w'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 15\u001b[0m \u001b[0mfh\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34mr'd:\\temp\\b.txt'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'w'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0ma\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
206+
"\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'd:\\\\temp\\\\a.txt'"
207+
]
208+
}
209+
],
210+
"source": [
211+
"#随机生成100000个整数(1-10000之间)作为集合A,随机生成100000个整数(1-15000之间)作为集合B。\n",
212+
"#(a)得到A,B所有出现的数及出现次数,分别输出到文件a.txt,b.txt中(新建文件),请输出多行,每行为两个数,两个数之间用逗号分隔(5分);\n",
213+
"#(b)列出A中所有回文数(例:12321)以及出现的次数(5分);\n",
214+
"#(c)列出B中分别由1-5个数字组成的数各自的总次数与总和,并按照总次数排序输出(如223就是3个数字组成的数,2834就是4个数字组成的数)(5分);\n",
215+
"#(d)从a.txt,b.txt读入得到A与B中出现的数(注意不要次数),计算既出现在A又出现在B中的数,追加输出到文件a.txt(5分)。\n",
216+
"\n",
217+
"import random\n",
218+
"\n",
219+
"A=[]\n",
220+
"B=[]\n",
221+
"for i in range(100):\n",
222+
" A.append(random.randint(1,10000))\n",
223+
" B.append(random.randint(1,15000))\n",
224+
"fh = open(r'd:\\temp\\a.txt', 'w')\n",
225+
"fh = open(r'd:\\temp\\b.txt', 'w')\n",
226+
"for i in a:\n",
227+
" a.append(A[i]+' ')\n",
228+
" fh.writelines(A)\n",
229+
"for j in b:\n",
230+
" b.append(B[i]+' ')\n",
231+
" fh.writelines(B)\n",
232+
"count_words_freq(a,numbers)"
233+
]
234+
},
235+
{
236+
"cell_type": "code",
237+
"execution_count": null,
238+
"metadata": {
239+
"collapsed": true
240+
},
241+
"outputs": [],
242+
"source": []
243+
}
244+
],
245+
"metadata": {
246+
"kernelspec": {
247+
"display_name": "Python 3",
248+
"language": "python",
249+
"name": "python3"
250+
},
251+
"language_info": {
252+
"codemirror_mode": {
253+
"name": "ipython",
254+
"version": 3
255+
},
256+
"file_extension": ".py",
257+
"mimetype": "text/x-python",
258+
"name": "python",
259+
"nbconvert_exporter": "python",
260+
"pygments_lexer": "ipython3",
261+
"version": "3.6.0"
262+
}
263+
},
264+
"nbformat": 4,
265+
"nbformat_minor": 2
266+
}

0 commit comments

Comments
 (0)