程序设计基础Python语言习题参考答案周翔 版.docx

上传人:b****6 文档编号:8838995 上传时间:2023-02-02 格式:DOCX 页数:14 大小:19.78KB
下载 相关 举报
程序设计基础Python语言习题参考答案周翔 版.docx_第1页
第1页 / 共14页
程序设计基础Python语言习题参考答案周翔 版.docx_第2页
第2页 / 共14页
程序设计基础Python语言习题参考答案周翔 版.docx_第3页
第3页 / 共14页
程序设计基础Python语言习题参考答案周翔 版.docx_第4页
第4页 / 共14页
程序设计基础Python语言习题参考答案周翔 版.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

程序设计基础Python语言习题参考答案周翔 版.docx

《程序设计基础Python语言习题参考答案周翔 版.docx》由会员分享,可在线阅读,更多相关《程序设计基础Python语言习题参考答案周翔 版.docx(14页珍藏版)》请在冰豆网上搜索。

程序设计基础Python语言习题参考答案周翔 版.docx

程序设计基础Python语言习题参考答案周翔版

程序设计基础(Python语言)

习题参考答案

习题1

一、选择题

1

2

3

4

5

6

7

8

9

10

C

A

B

A

D

B

A

A

A

B

二、问答题

1.Python语言是吉多·范·罗苏姆开发的,具有特点如下:

(1)解释执行

(2)面向对象

(3)开源性

(4)易用性

(5)可读性强

(6)可扩展性

(7)丰富的基础代码库

(8)成熟的扩展库

2.Python的主要应用领域

(1)Web开发

(2)网络编程

(3)科学计算与数据可视化

(4)数据库应用

(5)多媒体开发

(6)电子游戏应用

三、程序设计题

1.略

2.

>>>print('hello,world')

3.

(1)在IDLE中,“File”-“NewFile”

(2)输入代码

print('请输入您的姓名:

')

name=input()

print(name,’欢迎您开启Python之旅!

’)

(3)“File”-“保存”,输入文件名、选择保存路径,保存文件。

(4)“Run”-“RunModule”,运行程序。

习题2

一、选择题

1

2

3

4

5

6

7

8

9

10

D

C

D

D

A

D

C

A

D

D

二、填空题

1.-7.700000e+01

2.0.0043

3.1.0

三、程序设计题

1.

x=2.3e+3-1.34e-3j

a=x.real

b=x.imag

print('实部为:

',a,'虚部为:

',b)

print('实部为:

{:

.2f},虚部为:

{}'.format(a,b))

2.

a=eval(input("请输入秒数:

"))

h=a//3600

m=(a%3600)//60

s=a%60

print('{:

0>2}:

{:

0>2}:

{:

0>2}'.format(h,m,s))

3.

x=eval(input("请输入一个三位数:

"))

b=x//100

s=(x%100)//10

g=x%10

print('百位数是',b,'十位数是',s,'各位数是',g)

习题3

一、选择题

1

2

3

4

5

6

7

8

9

10

B

B

B

C

C

A

C

B

D

D

二、填空题

1.2

2.【填空1】x+y+z>=240and(x>=90ory>=90orz>=90)

3.【填空1】if,【填空2】:

,【填空3】d=0.8,【填空4】else

4.【填空1】s=1,【填空2】i=2,【填空3】i<=10,【填空4】s*=i,【填空5】i+=1

5.【填空1】range,【填空2】1000,【填空3】//,【填空4】%,【填空5】==

三、程序设计题

1.参考代码如下:

x=int(input("请输入你的成绩:

"))

ifx>=90:

msg="你是学霸的!

"

else:

msg="请继续努力!

"

print(msg)

2.参考代码如下:

importmath

TempStr=input('Pleaseenteranangleorradianwithunits:

')

x=eval(TempStr[0:

-1])

ifTempStr[-1]in['A','a']:

y=x*math.pi/180

print('Afterconvert,theradianis{:

.2f}R'.format(y))

elifTempStr[-1]in['R','r']:

y=180*x/math.pi

print('Afterconvert,theangleis{:

.2f}A'.format(y))

else:

print('Theinputdata\'sformatisincorrect.')

3.参考代码如下:

importrandom

number=random.randint(1,3)

usernum=int(input("请输入剪刀

(1)、石头

(2)、布(3)后面的数字:

"))

print("电脑出的是",number)

x=usernum-number

ifx==0:

msg='平局'

elifxin[-2,1]:

msg='玩家赢'

else:

msg='玩家输'

print(msg)

4.参考代码如下:

s=0

t=1

i=1

whilet>10**(-6):

t=1/(i**2)

s+=t

i+=2

pi=(s*8)**0.5

print('π的近似值为:

',pi)

5.参考代码如下:

forminrange(2,101):

i=2

foriinrange(2,m):

ifm%i==0:

break

ifnot(i

print('{}是素数'.format(m))

6.参考代码如下:

d=1

s=1020

whiles>0:

s=s-(s/2+2)

d=d+1

print('需要{}天卖完。

'.format(d))

7.参考代码如下:

f=eval(input('请输入父亲的生日数:

'))

m=eval(input('请输入母亲的生日数:

'))

c=eval(input('请输入你的生日数:

'))

psword=0

forpsinrange(100000,1000000):

ifps%f==0andps%m==0andps%c==0:

psword=ps

break

print('你的6位数密码是:

',psword)

8.参考代码如下:

n=eval(input('请输入一个正整数:

'))

forainrange(1,n+1):

forbinrange(a+1,n+1):

forcinrange(b+1,n+1):

ifa**2+b**2==c**2:

print(a,b,c,"是一组勾股数。

")

9.参考代码如下:

10.参考代码如下:

习题4

一、选择题

1

2

3

4

5

6

7

8

9

10

C

C

C

D

C

B

C

C

A

B

二、填空题

1.【填空1】input,【填空2】s,【填空3】upper(),【填空4】m,【填空5】‘*’

2.【填空1】0,【填空2】for,【填空3】in,【填空4】if,【填空5】else

3.【填空1】randint,【填空2】pop,【填空3】0,【填空4】x,【填空5】a

三、程序设计题

1.参考代码如下:

importrandom

li=[]

foriinrange(0,100):

x=random.randint(70,100)

li.append(x)

print(li[i],end="")

if(i+1)%10==0:

print()

x=min(li)

print('最小数是{},位置在{}'.format(x,li.index(x)))

2.参考代码如下:

cj=[]

foriinrange(10):

a=eval(input('请输入一个成绩'))

cj.append(a)

print('这10个学生的成绩为:

',cj)

s=0

forxincj:

s=s+x

ave=s/len(cj)

cha=abs(cj[0]-ave)

mincha=cha

minzhi=cj[0]

forxincj:

cha=abs(x-ave)

ifcha

minzhi=x

mincha=cha

print('平均成绩为{}最接近平均成绩的是{}:

'.format(ave,minzhi))

3.参考代码如下:

importmath

a=[33,76,89,21,10,44,57,69,28,71]

s=0

foriinrange(len(a)):

s=s+a[i]

ave=s/len(a)

sdev=0

foriina:

sdev=sdev+(i-ave)**2

jz=math.sqrt(sdev/(len(a)-1))

a.sort()

x=len(a)

ifx%2==0:

med=(a[len(a)//2-1]+a[len(a)//2])/2

else:

med=a[len(a)//2]

print('平均值为{},标准差为{},中位数为{}'.format(ave,jz,med))

4.参考代码如下:

addressdict={'Anna':

'巴音布鲁克','Ray':

'广州','Jack':

'西安'}

print(addressdict)

5.参考代码如下:

cat={'breed':

'Persian','owner':

'Jack'}

dog={'breed':

'Shepherd','owner':

'Ray'}

rabbit={'breed':

'lop','owner':

'Anna'}

pets={'pet1':

cat,'pet2':

dog,'pet3':

rabbit}

print(pets)

习题5

一、选择题

1

2

3

4

5

6

7

8

9

10

B

C

A

A

B

A

B

D

B

C

二、读程序题

1

2

3

4

5

C

A

C

C

D

三、程序设计题

1.参考代码如下:

defjc(n):

s=1

foriinrange(1,n+1):

s=s*i

returns

sum=0

forjinrange(1,11):

sum=sum+1/jc(j)

print(sum)

2.参考代码如下:

defqh(ls,n):

sum=0

forkinrange(0,n):

sum=sum+ls[k]

returnsum

li=[33,76,89,21,10,44,57,69,28,71]

print('前3个元素之和为',qh(li,3))

print('前6个元素之和为',qh(li,6))

print('全部元素之和为',qh(li,len(li)))

3.参考代码如下:

deffunc(a,*b):

foriteminb:

a*=item

returna

m=1

print(func(m,1,1,2,3,5,7,12,21,33))

4.参考代码如下:

defbasic_compute(x,y,operater):

ifoperater=='+':

z=x+y

elifoperater=='-':

z=x-y

elifoperater=='*':

z=x*y

elifoperater=='/':

ify!

=0:

z=x/y

else:

z='Inputerror!

'

else:

z='Inputerror!

'

returnz

try:

a=eval(input('请输入x的数值:

'))

b=eval(input('请输入y的数值:

'))

ot=input('请输入运算符号:

')

print(basic_compute(a,b,ot))

except:

print('Inputerror!

')

5.参考代码如下:

deff(n):

ifn==0orn==1:

a=1

else:

a=f(n-1)+f(n-2)

returna

num=eval(input("请输入一个整数:

"))

print(f(abs(num)))

习题6

一、选择题

1

2

3

4

5

6

7

8

9

10

B

C

D

D

B

B

D

D

D

C

二、程序设计题

1.参考代码如下:

importrandom

s=''

foriinrange(1,100):

x=random.randint(97,122)

ifchr(x)notins:

s+=(chr(x))

iflen(s)==26:

break

withopen('d:

\\examofpy\\wenjian\\char.txt','w')asf:

f.write(s)#写出字符串

2.参考代码如下:

importcsv

li=[]

withopen('d:

\\examofpy\\wenjian\\scores.csv',newline='')asf:

#打开文件

f_csv=csv.reader(f)#创建csv.reader对象

headers=next(f_csv)#标题

forrowinf_csv:

li.append(row)

c=0

m=0

e=0

forkinli:

c=c+int(k[4])

m=m+int(k[5])

e=e+int(k[6])

cave=c/len(li)

mave=m/len(li)

eave=e/len(li)

print(cave,mave,eave)

headers=['语文平均分','数学平均分','英语平均分']

rows=[(str(cave),str(mave),str(eave))]

withopen('d:

\\examofpy\\wenjian\\aver.csv','w')asf:

f_csv=csv.writer(f)#创建csv.writer对象

f_csv.writerow(headers)#写入1行(标题)

f_csv.writerows('\n')

f_csv.writerows(rows)

习题7

1、创建一个Point类,它表示某个点的X和Y坐标的有序数值对。

X和Y的值在实例化是传入到构造器。

如果缺失某个坐标值,则自动设置为0。

重写__str__函数,将X和Y的值以(X,Y)显示出来。

#-*-coding:

utf-8-*-

#习题7.1

classPoint:

"""Point类

"""

def__init__(self,x=0,y=0):

self.x=x

self.y=y

def__str__(self):

return"({},{})".format(self.x,self.y)

2、创建一个堆栈类Stack。

堆栈是--种具有后进先出(last-in-first-out,LIFO)特性的数据结构。

Stack类要实现isempty()方法来判断堆栈是否为空,为空返回True,否则返回False;push()方法来往堆栈压入一个元素;pop()方法来从堆栈中取出一个元素(应该是最后压入堆栈的元素)。

#-*-coding:

utf-8-*-

#习题7.2

classStack():

"""Stack栈

"""

def__init__(self):

self._stack=[]

defisempty(self):

iflen(self._stack)==0:

returnTrue

else:

returnFalse

defpush(self,x):

self._stack.append(x)

defpop(self):

x=self._stack[-1]

delself._stack[-1]

returnx

习题8

1、创建一个0~1,间隔为0.01的数组1和服从正态分布的100个随机数的数组2,并对这两个数组进行加减运算。

arr1=np.arange(0,1,0.01)

arr2=np.random.randn(100)

result1=arr1+arr2

result2=arr1-arr2

2、随机生成两个4×4的矩阵,并计算矩阵的乘积。

arr1=np.random.random((4,4))

arr2=np.random.random((4,4))

result1=arr1*arr2

3、绘制笛卡尔心形线。

笛卡尔心形线是指当一个圆沿着另一个半径相同的圆滚动时,圆上一点的轨迹就是笛卡尔心形线。

使用Numpy和matplolib绘制出笛卡尔心形线。

importmatplotlib.pyplotasplt

importnumpyasnp

"""采用极座标方程式r=a*(1-sin(t))

"""

t=np.linspace(0.0,2*np.pi,1000)

a=6

r=a*(1-np.sin(t))

plt.subplot(polar=True)

plt.plot(t,r,c='r')

plt.show()

 

习题9

1、读取鸢尾花的csv数据文件,增加一列数据:

SepalRatio,其值为df['Sepal.Width']/df['Sepal.Length']。

将数据按SepalRatio的降序进行排序,并将排好序的数据以Excel文件形式进行保存。

importpandasaspd

df=pd.read_csv("iris.csv",index_col=0)

df['SepalRatio']=df['Sepal.Width']/df['Sepal.Length']

df.sort_values("SepalRatio",ascending=False,inplace=True)

df.to_excel("iris_rt01.xlsx")

2、查看上题数据的ndim,shape,size,memory_usage。

print(df.ndim,df.shape,df.size)

print(df.memory_usage())

3、按鸢尾花的种类进行分组,分别统计其中位数、标准差和方差。

print(df.groupby("Species").median())

print(df.groupby("Species").std())

print(df.groupby("Species").var())

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1