python基础题目练习(附答案)

阅读: 评论:0

2024年1月26日发(作者:)

python基础题目练习(附答案)

答案:

答案:D

答案:B

【程序填空】

---------------------------------------------------------

题目:甲乙丙丁4人同时开始放鞭炮,甲每隔t1 s放一次,乙每隔

t2 s放一次,丙每隔t3 s放一次,丁每隔t4 s放一次,每人

各放n次。

函数fun的功能是根据形参炸响,只算一次响声,第一次响

声是在第0s。

例如:若t1=7,t2=5,t3=6,t4=4,n=10,则总共可听到28

次鞭炮声。

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def OK(i, t, n):

#**********SPACE**********

return (i%t==0) and (i//t

def fun(t1, t2, t3, t4, n):

#**********SPACE**********

maxt=t1

if maxt < t2:

maxt = t2

if maxt < t3:

maxt = t3

if maxt < t4:

maxt = t4

count=1

#**********SPACE**********

for t in range(1, maxt*(n-1)):

if OK(t, t1, n) or OK(t, t2, n)or OK(t, t3, n) or OK(t, t4, n):

count+=1

#**********SPACE**********

return count

def main():

t1=7

t2=5

t3=6

t4=4

n=10

r = fun(t1, t2, t3, t4, n)

print("总共可听到%d次鞭炮声n" %r)

if __name__ == '__main__':

main()

'''------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:求0-7所能组成的奇数个数。

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def f(n):

if n == 0:

#**********SPACE**********

return 1

#**********SPACE**********

elif n==1:

return 7

else:

#**********SPACE**********

return f(n-1)*8

def main():

l = []

for i in range(1,9):

#**********SPACE**********

a = f(i-1)*4

(a)

print("组成%d位数的奇数个数是%d个" %(i,a))

print("一共有%d个奇数" %sum(l))

if __name__ == '__main__':

main()

【程序改错】

---------------------------------------------------------

题目:根据整型形参m的值,计算如下公式的值。

1 1 1

t = 1- —— - —— - ... - ——

2x2 3x3 mxm

例如:若m=5,则应输出:0.536389

---------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def fun(m):

y=1.0

#**********FOUND**********

for i in range(2,m+1):

#**********FOUND**********

y-=1.0/(i*i)

return y

def main():

m = int(input("请输入整型形参m的值:"))

#**********FOUND**********

print('结果为:%.6f'%fun(m))

if __name__ == '__main__':

main()

【程序填空】

---------------------------------------------------------

题目:有x个整数,使其前面各数顺序向后移y个位置,最后y个数

变成最前面的y个数

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def main():

x = int(input('整数 x 为:'))

y = int(input('向后移 y 个位置为:'))

#**********SPACE**********

L = []

#**********SPACE**********

for i in range(0,x):

#**********SPACE**********

print('请输入第{}个数字:'.format(i+1), end='')

(int(input('')))

print('原始列表为:', L)

#**********SPACE**********

print('更新列表为:', L[x-y:] + L[:x-y])

if __name__ == '__main__':

main()

【程序改错】

---------------------------------------------------------

题目:根据以下公式求π值,并作为函数值返回。

例如:给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。

π 1 1 2 1 2 3 1 2 3 4

— = 1 + — + — x — + — x — x — + — x — x — x — + ...

2 3 3 5 3 5 7 3 5 7 9

---------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def fun(eps):

n=1

s=0.0

t=1

#**********FOUND**********

while(t>eps):

s+=t

t=1.0*n/(2*n+1)*t

#**********FOUND**********

n+=1

#**********FOUND**********

return s*2

def main():

x=float(input("请输入一个变量x:"))

print("neps=%lf,Pi=%lfnn" %(x,fun(x)))

if __name__ == '__main__':

main()

答案:B

答案:B

【程序改错】

---------------------------------------------------------

题目:实现用户输入用户名和密码,当用户名为seven 或 alex

且 密码为 123 时,显示登陆成功,否则登陆失败,失败

时允许重复输入三次,当登录成功时退出,否则三次失败后退出。

---------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def login(username,password):

#**********FOUND**********

if username == "seven" or "alex" and password == "123":

print("登陆成功!")

return True

else:

print("登录失败!")

#**********FOUND**********

return False

def main():

username = input ("请输入用户名:")

password = input ("请输入密码:")

#**********FOUND**********

if not login(username,password):

for i in range (3):

username = input ("请重新输入用户名,第%d次:" %(i+1))

password = input ("请重新输入密码,第%d次:" %(i+1))

login(username,password)

if __name__ == '__main__':

main()

【程序填空】

---------------------------------------------------------

题目:从键盘输入1个正整数,把这个整数的各位数字重新组合,

形成一个位数不变的最大数和最小数,并计算最大数与最

小数的差。

例如:输入241897,重组后最大数为:987421,最小数为:124789,

差为:862632

输入240097,重组后最大数为:974200,最小数为:200479,

差为:773721

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def bubblesortDown(date):

length = len(date)

#**********SPACE**********

for i in range(length-1):

for j in range(0,length-i-1):

if(date[j]>date[j+1]):

t = date[j]

date[j] = date[j+1]

date[j+1] = t

m=0

if(date[m]=='0'):

while(date[m]=='0'):

#**********SPACE**********

m+=1

else:

date[0] = date[m]

date[m] = '0'

content = "".join(date)

return content

def bubblesortUp(date):

length = len(date)

for i in range(length-1):

for j in range(length-1,i,-1):

#**********SPACE**********

if(date[j-1]

t = date[j-1]

#**********SPACE**********

date[j-1]=date[j]

date[j] = t

content = "".join(date)

return content

def diss(a):

list1=list(a)

max = int(bubblesortUp(list1))

min = int(bubblesortDown(list1))

dis=max-min

print("最大数为:{},最小数为:{},差为:{}".format(max,min,dis) )

def main():

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

diss(num);

if __name__ == '__main__':

main()

【程序填空】

---------------------------------------------------------

题目:用户输入一个数组,并对其排好序,然后再输入一个数,

要求按原来的规律将它插入数组中。

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def main():

arr = list(map(int, input("输入一串数字,每个数字用空格隔开:").split()))

#**********SPACE**********

()

print("输入的数组经过排序后为:",arr)

arr1 = []

n = int(input('请输入一个要插入的数字:'))

if arr[0] > n:

(n)

(arr)

#**********SPACE**********

elif arr[0]=n:

(arr)

(n)

else:

#**********SPACE**********

for i in range(len(arr)):

if arr[i] < n and (arr[i+1] == n or arr[i+1] > n):

(arr[0:i+1])

#**********SPACE**********

(n)

(arr[i+1:len(arr)])

break

print("插入数字之后的数组为:",arr1)

if __name__ == '__main__':

main()

答案:[5,[1,2],’a’]

d={1:'x',2:'y',3:'z'}

del d[1]

del d[2]

d[1]='A'

print(len(d))

print(d)

2

{3: 'z', 1: 'A'}

答案:错误

下列代码输出的结果是:

答案:{'k': '1', 'k1': '2', 'k2': '3', 'k3': '4'}

答案:A

答案:无序的“关键字:值”对 或 key-valuepair

'''------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:两个 3 行 3 列的矩阵,实现其对应位置的数据相加,

并返回一个新矩阵:

X = [[12,7,3],

[4 ,5,6],

[7 ,8,9]]

Y = [[5,8,1],

[6,7,3],

[4,5,9]]

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def matrix(X,Y):

a_list=[]

a_list_1=[]

a_list_2=[]

a_list_3=[]

#**********SPACE**********

for i in range(3):

for j in range(3):

#**********SPACE**********

if i==0:

temp=a_list_1

elif i==1:

temp=a_list_2

else:

#**********SPACE**********

temp=a_list_3

(X[i][j]+Y[i][j])

a_(0,a_list_1)

a_(1,a_list_2)

a_(2,a_list_3)

#**********SPACE**********

return a_list

def main():

X = [[12,7,3],

[4 ,5,6],

[7 ,8,9]]

Y = [[5,8,1],

[6,7,3],

[4,5,9]]

print("新矩阵为:",matrix(X,Y))

if __name__ == '__main__':

main()

【程序填空】

---------------------------------------------------------

题目:八进制转换为十进制

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def batoshi(num):

count=0

j=len(num)-1

#**********SPACE**********

for each_ch in num:

#**********SPACE**********

count+=pow(8,j)*int(each_ch)

j-=1

#**********SPACE**********

return count

def main():

m = input("请输入一个八进制数: ")

#**********SPACE**********

print("转成10进制数为:",batoshi(m))

if __name__ == '__main__':

main()

答案:True 3

答案:(0,答案:[5, [1, 2], 'a']

1)

答案:6

答案:B

'''------------------------------------------------------

【程序改错】

---------------------------------------------------------

题目:小王希望用电脑记录他每天掌握的英文单词。请设计程序和

相应的数据结构,使小王能记录新学的英文单词和其中文翻

译,并能很方便地根据英文来查找中文。

提示:数据结构建议用集合。

集合添加:dic[key]=value 判断key是否在集合中:if key in dic)。

---------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def add_dic(dic):

while True:

word=input("请输入英文单词(直接按回车结束):")

#**********FOUND**********

if len(word)==0:

break;

meaning=input("请输入中文翻译:")

dic[word]=meaning

print("该单词已添加到字典库。")

return

def search_dic(dic):

while True:

word=input("请输入要查询的英文单词(直接按回车结束):")

if len(word)==0:

break;

#**********FOUND**********

if word in dic:

print("“%s”的中文翻译是:%s"%(word,dic[word]))

else:

print("字典库中未找到这个单词")

return

def main():

worddic=dict()

while True:

print("请选择功能:n1:输入n2:查找n3:退出")

c=input()

if c=="1":

add_dic(worddic)

elif c=="2":

#**********FOUND**********

search_dic(worddic)

elif c=="3":

break

else:

print("输入有误!")

if __name__ == '__main__':

main()

【程序填空】

---------------------------------------------------------

题目:输入数组,最大的与最后一个元素交换,最小的与第一个元

素交换,输出数组。

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def main():

a=[]

b=[]

m=int(input("请输入数组长度:"))

#**********SPACE**********

for i in range(m):

(int(input("请输入第 %d 个数:" %(i+1))))

(a)

()

#**********SPACE**********

Max=(a[len(a)-1])

b[0],b[Max]=b[Max],b[0]

#**********SPACE**********

Min=(a[0])

b[len(b)-1],b[Min]=b[Min],b[len(b)-1]

print(b)

if __name__ == '__main__':

main()

# -*- coding:cp936 -*-

'''------------------------------------------------------

【程序改错】

---------------------------------------------------------

题目:由N个有序整数组成的数列已放在一维数组中,下列给定

程序中函数fun的功能是:利用折半查找法查找整数m在

数组中的位置。若找到,返回其下标值;否则,返回-1。

请改正程序中的错误,使它能得出正确的结果。

说明:折半查找的基本算法是:每次查找前先确定数组中待查的

范围low和high(low

元素的值进行比较。如果m的值大于中间位置元素的值,

则下一次的查找范围落在中间位置之后的元素中;反之,

下一次的查找范围落在中间位置之前的元素中。直到low>high,

查找结束。

-----------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def fun(a,m):

low=0

high=len(a)-1

while(low<=high):

#**********FOUND**********

mid=int((low+high)/2)

if(m

high=mid-1

#**********FOUND**********

elif(m>a[mid]):

low=mid+1

else:

return mid

return -1

def main():

a =[-3,4,7,9,13,45,67,89,100,180]

print("a数组中的数据如下:")

for i in range(len(a)):

print("%d " %a[i])

m = int(input("请输入要查找的整数m,并按回车继续:"))

k=fun(a,m)

if(k>=0):

print("m={},index={}".format(m,k))

else:

print("没有找到!")

if __name__ == '__main__':

main()

答案:C

答案:A

【程序设计】

---------------------------------------------------------

题目:编写程序,从键盘上获得用户连续输入且用逗号分隔的若干

个数字(不必以逗号结尾),计算所有输入数字的和并输出,

给出代码提示如下。

输出示例:

4,5,6

15

---------------------------------------------------------

注意:部分源程序给出如下。请勿改动其它函数中的任何内容,

仅在函数的注释标志之间填入所编写的若干语句。

先将程序段中横线部分去掉,然后填写正确的程序内容

------------------------------------------------------'''

n = input()

#**********Program**********

nums =list((","))

s = 0

for i in nums:

s+=eval(i)

#********** End **********

print(s)

'''------------------------------------------------------

【程序改错】

---------------------------------------------------------

题目:已知一个数列从第0项开始的前三项分别为0、0、1,以

后的各项都是其相邻的前三项的和。下列给定程序中,

函数fun的功能是:计算并输出该数列的前n项的平方根

之和sum,n的值通过形参传入。

请改正程序中的错误,使它能得出正确的结果。

例如:当n=10时,程序的输出结果应为23.197745。

---------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

import math

def fun(n):

#**********FOUND**********

sum=1.0

if(n<=2):

sum=0.0

s0=0.0

s1=0.0

s2=1.0

#**********FOUND**********

for k in range(4,n+1):

s=s0+s1+s2

sum+=(s)

s0=s1

s1=s2

s2=s

#**********FOUND**********

return sum

def main():

n = int(input("请输入该数列的项数n:"))

print('该数列的前',n,'项的平方根之和sum为:%.6f' %fun(n))

if __name__ == '__main__':

main()

【程序填空】

---------------------------------------------------------

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;

再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

要求:使用递归算法

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def height(n):

if n==0 :

return 100

else:

#**********SPACE**********

return height(n-1)//2

def main():

sum=0

count=10

#**********SPACE**********

for i in range(count):

if i==0:

sum=sum+height(i)

else:

#**********SPACE**********

sum=sum+2*height(i)

print('总高度:tour = {0}'.format(sum))

#**********SPACE**********

print('第10次反弹高度:height = {0}'.format(height(10)))

if __name__ == '__main__':

main()

【程序改错】

---------------------------------------------------------

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人

大2岁。问第4个人岁数,他说比第3个人大2岁。问第三

个人,又说比第2人大两岁。问第2个人,说比第一个人

大两岁。最后问第一个人,他说是10岁。请问第五个人

多大?

请改正程序中的错误,使它能得出正确的结果。

---------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def age(n):

#**********FOUND**********

if n == 1:

c = 10

else:

#**********FOUND**********

c = age(n-1) + 2

return c

def main():

#**********FOUND**********

print(age(5))

if __name__ == '__main__':

main()

【程序设计】

---------------------------------------------------------

题目:给定一个数字12345678.9,请增加千位分隔符号,设置宽度为30、

右对齐方式打印输出,使用空格填充。

要求:增加千位分隔符号,设置宽度为30、右对齐方式将给定数字打印输出,

使用空格填充。

---------------------------------------------------------

注意:部分源程序给出如下。请勿改动其它函数中的任何内容,

仅在函数的注释标志之间填入所编写的若干语句。

先将程序段中横线部分去掉,然后填写正确的程序内容

------------------------------------------------------'''

#**********Program**********

print("{0:>30,}".format(12345678.9))

#********** End **********

【程序改错】

---------------------------------------------------------

题目:输入一个时间(小时:分钟:秒),输出该时间经过5分30秒后的时间。

---------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def main():

hour,minute,second=input('请输入一个时间(h:m:s):').split(':')

hour=int(hour)

minute=int(minute)

second=int(second)

second+=30

#**********FOUND**********

if second >= 60:

second = second-60

minute += 1

minute+=5

if minute >= 60:

#**********FOUND**********

minute = minute-60

hour += 1

if hour == 24:

#**********FOUND**********

hour = 0

print('%d:%d:%d'%(hour,minute,second))

if __name__ == '__main__':

main()

【程序设计】

---------------------------------------------------------

题目:经常会有要求用户输入整数的计算需求,但用户未必一定输入

整数。为了提高用户体验,编写 getInput() 函数处理这样的

情况。请补充如下代码,如果用户输入整数,则直接输出整数

并退出,如果用户输入的不是整数,则要求用户重新输入,直至

用户输入整数为止。

提示:请使用try/except语句。

输出示例:

1.3

3

3

---------------------------------------------------------

注意:部分源程序给出如下。请勿改动其它函数中的任何内容,

仅在函数的注释标志之间填入所编写的若干语句。

先将程序段中横线部分去掉,然后填写正确的程序内容

------------------------------------------------------'''

def getInput():

#**********Program**********

x=input()

while t()==False:

x=input()

return int(x) # 只能是单行代码

#********** End **********

print(getInput())

'''------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:假设一年期定期利率为n%,计算一下需要过多少年,

一万元的定期存款连本带息能翻番?

说明:利率为用户输入的浮点型变量,范围是:0.0<n≤10.0

例如:输入n=3.25,则输出:22年以后,存款会翻番

---------------------------------------------------------

注意:部分源程序给出如下。请勿改动主函数main和其它函数中的

任何内容,仅在函数的注释标志之间填入所编写的若干语句。

------------------------------------------------------'''

def main():

print("【请分别三次计算问题:】")

for i in range(3):

print("【第%d次:】" %(i+1))

n = float(input("【请输入定期利率n(0.0<n≤10.0):】"))

cunkuan = 10000 #本金10000元

#**********Program**********

years=0

while cunkuan<20000:

cunkuan=cunkuan*(1+n/100)

years+=1

#********** End **********

print(str(years)+"【年以后,存款会翻番】")

if __name__ == '__main__':

main()

Python语言中-77.的科学技术法表示是_-7.700000e+01

或-7.7e1_

【程序设计】 (少了两分不知道是从哪里扣的)

---------------------------------------------------------

题目:编写编写函数fun,其功能为打印如下图所示图形。

*

***

*****

*******

*****

***

*

要求:要求使用abs()。

编写函数中包含输出语句,直接打印表达式的结果。

---------------------------------------------------------

注意:部分源程序给出如下。请勿改动主函数main和其它函数中的

任何内容,仅在函数的注释标志之间填入所编写的若干语句。

------------------------------------------------------'''

def fun(n):

#**********Program**********

print(abs(n-4)*" ",end='')

print("*"*(2*(3-abs(n-4))+1))

#********** End **********

def main():

for index in range(1, 8):

fun(index)

if __name__ == '__main__':

main()

【程序填空】

---------------------------------------------------------

题目:下列给定程序中,函数fun的功能是:找出100~999之间

(含100和999)所有整数中各位上数字之和为x(x为正整数)

的整数,并输出;符合条件的整数个数作为函数值返回。

例如:当x值为5时,100~999之间各位上数字之和为5的整数有:

104、113、122、131、140、203、212、221、230、302、

311、320、401、410、500,共有15个。当x值为27时,各

位数字之和为27的整数是:999,只有1个。

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def fun(x):

n=0

t=100

#**********SPACE**********

while t<1000:

s1=t%10

#**********SPACE**********

s2=(t//10)%10

s3=t//100

#**********SPACE**********

if s1+s2+s3= =x:

print(t, end="、")

n+=1

t+=1

print("")

return n

def main():

x = int(input('输入一个正整数:'))

print("当x值为%d时,100~999之间各位上数字之和为%d的整数分别是:" %(x,x))

print("共%d个" %fun(x))

if __name__ == '__main__':

main()

【程序改错】

---------------------------------------------------------

题目:计算正整数num的各位上的数字之积。

例如:输入252,则输出应该是20。

---------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def fun(num):

k=1

while(num):

#**********FOUND**********

k=num%10*k

#**********FOUND**********

num=num//10

#**********FOUND**********

return k

def main():

n=int(input("请输入一个正整数n:"))

print("各位上的数字之积为:",fun(n))

if __name__ == '__main__':

main()

【程序改错】

---------------------------------------------------------

题目:判断整数x是否是同构数。若是同购数,函数返回1;否则返回0。

请改正程序中的错误,使它能得出正确的结果。

说明:所谓“同构数”是指这个数出现在它的平方数的右边。

x的值由主函数从键盘读入,要求不大于1000。

例如:输入整数25,25的平方数是625,25是625中右侧的数,

所以25是同构数。

----------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def fun(x):

#**********FOUND**********

k=x*x

#**********FOUND**********

if((k%10==x) or (k%100==x) or (k%1000==x)):

return 1

else:

return 0

def main():

x = int(input("请输入一个整型数值x,并按回车继续:"))

if(x>1000):

print("输入值不能大于1000!")

exit(0)

y = fun(x)

#**********FOUND**********

if y :

print("%d 是同构数" %x);

else :

print("%d 不是同构数" %x);

if __name__ == '__main__':

main()

【程序改错】

---------------------------------------------------------

题目:下列给定程序中函数fun的功能是:将一个由八进制数字

字符组成的字符串转换成十进制整数。规定输入的字符串最

多只能包含5位八进制数字字符。

请改正程序中的错误,使它能得出正确的结果。

例如:若输入77777,则输出32767。

---------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def fun(num):

length = len(num)

sum = 0

for i in range(length):

#**********FOUND**********

sum += 8 ** i * int(num[length-1-i])

return sum

def main():

num = input("请输入一个8进制数,并按回车继续:")

#**********FOUND**********

if(len(num)>5):

print("错误: 不得大于5位八进制数字字符!n")

exit(0)

for i in range(len(num)):

#**********FOUND**********

if(num[i]<'0'or num[i]>'7'):

print("错误: %s 不是一个八进制数字n" %num[i])

exit(0)

print("转成10进制数为:",fun(num))

if __name__ == '__main__':

main()

【编写程序】

求1~n以内所有能被7整除,但不能同时被5整除的所有整数 。

要求:n为键盘输入的正整数。输出所有n以内所有的能被7整除,但不能同时被5整除的整数。

#**********Program**********

n=eval(input())

for i in range(1,n+1):

if i%7==0 and i%5!=0:

print(i)

#********** End **********

【编写程序】

求1~n以内所有能被7整除,但不能同时被5整除的所有整数 。

要求:n为键盘输入的正整数。输出所有n以内所有的能被7整除,但不能同时被5整除的整数。

#**********Program**********

n=eval(input())

for i in range(1,n+1):

if i%7==0 and i%5!=0:

print(i)

#********** End **********

【程序改错】

---------------------------------------------------------

题目:求如下表达式:

1 1 1

S = 1 + —— + ——— + ...... + ———————

1+2 1+2+3 1+2+3+......+n

---------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def fun(n):

s=0

#**********FOUND**********

for i in range(1,n+1):

t=0

#**********FOUND**********

for j in range(1,i+1):

t=t+j

#**********FOUND**********

s+=1.0/t

return s

def main():

n=int(input("请输入一个正整数n:"))

print("S = ",fun(n))

if __name__ == '__main__':

main()

【程序设计】

---------------------------------------------------------

题目:编写程序,实现将列表 ls = [23,45,78,87,11,67,89,13,

243,56,67,311,431,111,141] 中的素数去除,并输出去除素数

后列表 ls 的元素个数。请结合程序整体框架,补充横线处代码。

---------------------------------------------------------

注意:部分源程序给出如下。请勿改动其它函数中的任何内容,

仅在函数的注释标志之间填入所编写的若干语句。

先将程序段中横线部分去掉,然后填写正确的程序内容

------------------------------------------------------'''

def is_prime(n):

#**********Program**********

for i in range(2,n):

if n%i==0:

return False

return True

#多行定义代码

ls = [23,45,78,87,11,67,89,13,243,56,67,311,431,111,141]

for i in ():

if is_prime(i) = = True:

(i) #此处为一行代码

#********** End **********

print(len(ls))

【程序设计】

---------------------------------------------------------

题目:average_sum函数的功能为求一批数中大于平均值的数的和。

---------------------------------------------------------

注意:部分源程序给出如下。请勿改动主函数main和其它函数中的

任何内容,仅在函数的注释标志之间填入所编写的若干语句。

------------------------------------------------------'''

def average_sum(a,n):

#**********Program**********

s1=0

s2=0

for i in range(len(a)):

s1+=a[i]

for i in range(len(a)):

if a[i] > s1/n:

s2+=a[i]

return s2

#********** End **********

def main():

a = []

n = int(input("【输入数组的长度n:】"))

for i in range(n):

(int(input("【请输入第%d个数组元素:】" %(i+1))))

num=average_sum(a,n)

print("【大于平均值的数的和为:】%d" %num);

if __name__ == '__main__':

main()

【程序改错】

---------------------------------------------------------

题目:删除列表中重复的元素

要求:使用while循环

---------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def main():

li = [1,2,3,4,5,2,1,3,4,57,8,8,9]

print("原列表:",li)

i = 0 #变量i是li的下标

#**********FOUND**********

while i < len(li):

j = i + 1

#**********FOUND**********

while j < len(li):

if li[i] == li[j]:

del li[j]

#**********FOUND**********

continue

j = j + 1

i = i + 1

print("去除重复元素后的列表为:",li)

if __name__ == '__main__':

main()

【程序填空】

---------------------------------------------------------

题目:求两个非负整数的最大公约数和最小公倍数。

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def hcf(x, y):

"""该函数返回两个数的最大公约数"""

#**********SPACE**********

if x >y:

smaller = y

else:

smaller = x

for i in range(1,smaller + 1):

#**********SPACE**********

if((x % i == 0) and (y % i == 0)):

hcf = i

return hcf

def lcm(a, b):

"""该函数返回两个数的最小公倍数"""

#**********SPACE**********

if a

a, b = b, a

if a % b == 0:

return a

mul = 2

#**********SPACE**********

while mul*a%b != 0:

mul += 1

return a*mul

def main():

# 用户输入两个数字

num1 = int(input("输入第一个非负整数数字: "))

num2 = int(input("输入第二个非负整数数字: "))

print( num1,"和", num2,"的最大公约数为", hcf(num1, num2))

print( num1,"和", num2,"的最小公倍数为", lcm(num1, num2))

if __name__ == '__main__':

main()

【程序填空】

---------------------------------------------------------

题目:输入一行字符,分别统计出其中英文字母、空格、数字和

其它字符的个数。

---------------------------------------------------------

注意:除要求填空的位置之外,请勿改动程序中的其他内容。

------------------------------------------------------'''

def main():

a = input('请输入一串字符:')

#**********SPACE**********

英文 = 0

空格= 0

数字= 0

其他= 0

#**********SPACE**********

for i in a:

if a():

英文 += 1

#**********SPACE**********

elif i ==’ ’:

空格 += 1

#**********SPACE**********

elif (i>='0'and i <='9'):

数字 += 1

else:

其他 += 1

print('英文 = %s,空格 = %s,数字 = %s,其他 = %s' % (英文,空格,数字,其他))

if __name__ == '__main__':

main()

【程序改错】

---------------------------------------------------------

题目:下列给定程序中,函数fun的功能是:求整数x的y次方的低3位值。

请改正程序中的错误,使它能得出正确的结果。

例如:整数5的6次方为15625,此值的低3位值为625。

----------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------'''

def fun(x,y):

r=1

#**********FOUND**********

for i in range(1,y+1):

r=r*x;

return r

def main():

print("请分别输入整数x的y次方中的x和y:")

x = int(input("请输入整数x,并按回车继续:"))

y = int(input("请输入y次方,并按回车继续:"))

r = fun(x,y)

#**********FOUND**********

t=r%1000

print("x={}, y={},r={}, last={} ".format(x, y, r,t));

if __name__ == '__main__':

main()

python基础题目练习(附答案)

本文发布于:2024-01-26 21:43:42,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/1706276622881.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:输入   程序   题目   整数   函数
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23