1、print(请输入您的姓名:name=input()print(name,欢迎您开启Python之旅!)(3)“File”-“保存”,输入文件名、选择保存路径,保存文件。(4)“Run”-“Run Module”,运行程序。习题2二、填空题1. -7.700000e+012. 0.00433. 1.01. x=2.3e+3-1.34e-3ja=x.realb=x.imag实部为:,a,虚部为:,b)实部为:.2f,虚部为:.format(a,b) a=eval(input(请输入秒数:)h=a/3600m=(a%3600)/60s=a%6002:2.format(h,m,s)3.x=eval(
2、input(请输入一个三位数:b=x/100s=(x%100)/10g=x%10百位数是,b,十位数是,s,各位数是,g)习题31. 22. 【填空1】x+y+z=240 and( x=90 or y=90 or z=90)3. 【填空1】if,【填空2】:,【填空3】d=0.8,【填空4】else4. 【填空1】s=1,【填空2】i=2,【填空3】i=90 : msg=你是学霸的!else:请继续努力!print(msg)2. 参考代码如下:import mathTempStr=input(Please enter an angle or radian with units:x = eval
3、(TempStr0:-1)if TempStr-1 in A,a: y=x*math.pi/180After convert, the radian is :.2fR.format(y)elif TempStr-1 in Rr y=180*x/math.piAfter convert, the angle is :.2fAThe input datas format is incorrect.3. 参考代码如下:import randomnumber=random.randint(1,3)usernum=int(input(请输入剪刀(1)、石头(2)、布(3)后面的数字:print(电脑出的
4、是,number)x=usernum-numberif x=0: msg=平局elif x in -2,1:玩家赢玩家输4. 参考代码如下:s=0t=1i=1while t10*(-6): t=1/(i*2) s+=t i+=2pi=(s*8)*0.5的近似值为:,pi)5. 参考代码如下:for m in range(2,101): i=2 for i in range(2,m): if m%i=0: break if not (i0: s=s-(s/2+2) d=d+1需要天卖完。.format(d)7. 参考代码如下:f=eval(input(请输入父亲的生日数:m=eval(input
5、(请输入母亲的生日数:c=eval(input(请输入你的生日数:psword=0for ps in range(100000,1000000): if ps%f=0 and ps%m=0 and ps%c=0: psword=ps你的6位数密码是:,psword)8. 参考代码如下:n=eval(input(请输入一个正整数:for a in range(1,n+1): for b in range(a+1,n+1): for c in range(b+1,n+1): if a*2+b*2=c*2: print(a,b,c,是一组勾股数。9. 参考代码如下:略10. 参考代码如下:习题41.
6、 【填空1】input,【填空2】s,【填空3】upper(),【填空4】m,【填空5】*2. 【填空1】0,【填空2】for,【填空3】in,【填空4】if,【填空5】else3. 【填空1】randint,【填空2】pop,【填空3】0,【填空4】x,【填空5】ali=for i in range(0,100): x=random.randint(70,100) li.append(x) print(lii,end= if (i+1)%10=0: print()x=min(li)最小数是,位置在.format(x,li.index(x)cj=for i in range(10): a=ev
7、al(input(请输入一个成绩 cj.append(a)这10个学生的成绩为:,cj)for x in cj: s=s+xave=s/len(cj)cha=abs(cj0-ave)mincha=chaminzhi=cj0 cha=abs(x-ave) if chamincha: minzhi=x mincha=cha平均成绩为最接近平均成绩的是:.format(ave,minzhi)a = 33, 76, 89, 21, 10, 44, 57, 69, 28, 71for i in range(len(a): s=s+aiave=s/len(a)sdev=0for i in a: sdev=
8、sdev+(i-ave)*2jz=math.sqrt(sdev/(len(a)-1)a.sort()x=len(a)if x%2=0: med=(alen(a)/2-1+alen(a)/2)/2 med=alen(a)/2平均值为,标准差为,中位数为.format(ave,jz,med)addressdict=Anna:巴音布鲁克Ray广州Jack西安print(addressdict)cat=breedPersianownerdog=Shepherdrabbit=loppets=pet1cat,pet2dog,pet3rabbitprint(pets)习题5二、读程序题def jc(n):
9、s=1 for i in range(1,n+1): s=s*i return ssum=0for j in range(1,11): sum=sum+1/jc(j)print(sum)def qh(ls,n): sum=0 for k in range(0,n): sum=sum+lsk return sumli=33, 76, 89, 21, 10, 44, 57, 69, 28, 71前3个元素之和为,qh(li,3)前6个元素之和为,qh(li,6)全部元素之和为,qh(li,len(li)def func(a,*b): for item in b: a *= item return
10、am = 1print(func(m,1,1,2,3,5,7,12,21,33)def basic_compute( x,y,operater ): if operater=+ z=x+y elif operater=- z=x-y* z=x*y/ if y!=0: z=x/y else: z=Input error! return ztry:请输入x的数值: b=eval(input(请输入y的数值: ot=input(请输入运算符号: print(basic_compute(a,b,ot)except:Input error!def f(n): if n = 0 or n=1: a=1 a
11、=f(n-1)+f(n-2)num = eval(input(请输入一个整数:print(f(abs(num)习题6二、程序设计题s=for i in range(1,100): x=random.randint(97,122) if chr(x) not in s: s+=(chr(x) if len(s)=26:with open(d:exam of pywenjianchar.txt, w) as f: f.write(s) #写出字符串import csvexam of pywenjianscores.csv, newline= #打开文件 f_csv = csv.reader(f)
12、#创建csv.reader对象 headers = next(f_csv) #标题 for row in f_csv: li.append(row)c=0m=0e=0for k in li: c=c+int(k4) m=m+int(k5) e=e+int(k6)cave=c/len(li)mave=m/len(li)eave=e/len(li)print(cave,mave,eave)headers=语文平均分数学平均分英语平均分rows=(str(cave),str(mave),str(eave)exam of pywenjianaver.csv f_csv = csv.writer(f)
13、# 创建csv.writer对象 f_csv.writerow(headers) #写入1行(标题) f_csv.writerows(n f_csv.writerows(rows)习题71、创建一个Point类,它表示某个点的X和Y坐标的有序数值对。X和Y的值在实例化是传入到构造器。如果缺失某个坐标值,则自动设置为0。重写_str_函数,将X和Y的值以(X,Y)显示出来。# -*- coding: utf-8 -*-# 习题7.1class Point:Point类 def _init_(self, x=0, y=0): self.x = x self.y = y def _str_(self
14、): return (, ).format(self.x, self.y)2、创建一个堆栈类Stack。堆栈是-种具有后进先出( last-in-first-out,LIFO)特性的数据结构。Stack类要实现isempty()方法来判断堆栈是否为空,为空返回True,否则返回False;push()方法来往堆栈压入一个元素;pop()方法来从堆栈中取出一个元素(应该是最后压入堆栈的元素)。# 习题7.2class Stack():Stack栈 def _init_(self): self._stack = def isempty(self): if len(self._stack) = 0:
15、 return True return False def push(self, x): self._stack.append(x) def pop(self): x = self._stack-1 del self._stack-1 return x习题81、创建一个01,间隔为0.01的数组1和服从正态分布的100个随机数的数组2,并对这两个数组进行加减运算。arr1 = np.arange(0, 1, 0.01)arr2 = np.random.randn(100)result1 = arr1+arr2result2 = arr1-arr22、随机生成两个44的矩阵,并计算矩阵的乘积。a
16、rr1 = np.random.random(4, 4)arr2 = np.random.random(4, 4)result1 = arr1*arr23、绘制笛卡尔心形线。笛卡尔心形线是指当一个圆沿着另一个半径相同的圆滚动时,圆上一点的轨迹就是笛卡尔心形线。使用Numpy和matplolib绘制出笛卡尔心形线。import matplotlib.pyplot as pltimport numpy as np采用极座标方程式 r = a*(1-sin(t)t = np.linspace(0.0, 2 * np.pi, 1000)a = 6r = a * (1 - np.sin(t)plt.su
17、bplot(polar=True)plt.plot(t, r, c = plt.show()习题91、读取鸢尾花的csv数据文件,增加一列数据:SepalRatio,其值为 dfSepal.Width/dfSepal.Length。将数据按SepalRatio的降序进行排序,并将排好序的数据以Excel文件形式进行保存。import pandas as pddf = pd.read_csv(iris.csv, index_col=0)dfSepalRatio = dfdf.sort_values(SepalRatio, ascending=False, inplace=True)df.to_excel(iris_rt01.xlsx2、查看上题数据的ndim, shape, size,memory_usage。print(df.ndim, df.shape, df.size)print(df.memory_usage()3、按鸢尾花的种类进行分组,分别统计其中位数、标准差和方差。print(df.groupby(Species).median().std().var()