大学Python程序题题库.docx

上传人:b****5 文档编号:8359760 上传时间:2023-01-30 格式:DOCX 页数:17 大小:21.93KB
下载 相关 举报
大学Python程序题题库.docx_第1页
第1页 / 共17页
大学Python程序题题库.docx_第2页
第2页 / 共17页
大学Python程序题题库.docx_第3页
第3页 / 共17页
大学Python程序题题库.docx_第4页
第4页 / 共17页
大学Python程序题题库.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

大学Python程序题题库.docx

《大学Python程序题题库.docx》由会员分享,可在线阅读,更多相关《大学Python程序题题库.docx(17页珍藏版)》请在冰豆网上搜索。

大学Python程序题题库.docx

大学Python程序题题库

程序设计

题目:

补充fun函数,其功能是判断一个整数是否是素数,在主

函数main中输入一个整数,调用该fun函数进行判断并输

出结果。

要求:

使用math相关函数

importmath

deffun(n):

i,w=2,0

ifn<=1:

w=1

whilei〈=int(math。

sqrt(n))andw==0:

ifn%i==0:

w=1

break

else:

i=i+1

returnw

defmain():

print(”【请连续四次判断输入的整数是否是素数:

】”)

foriinrange(4):

print(”【第%d次:

】"%(i+1))

n=int(input(’【请输入一个整数n:

】’))

iffun(n)==0:

print(”%d是素数"%n)

else:

print("%d不是素数”%n)

if__name__=='__main__':

main()

题目:

求100-999之间的水仙花数

说明:

水仙花数是指一个三位数的各位数字的立方和是这个数本身.

例如:

153=1^3+5^3+3^3)。

—-———-—--—----—-—--—----—-—--——-—-—-—----——----————————--

注意:

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

------————---——--——-—-——-——-—-—-—--———-----——-——---———'’’

defmain():

foriinrange(100,1000):

h=i//100

t=(i-100*h)//10

s=i-100*h-t

ifi==h**3+t**3+s**3:

print(i)

if__name__==’__main__':

main()

【程序填空】

-—-——--——-————-—--————-——---—-—----—-—---—-------—————---

题目:

输入某年某月某日,判断这一天是这一年的第几天?

--------—-—--—-—-—-——-——-—--——-—————-——--————--—--————-——

注意:

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

—--—-——————-—-————-————--—--——-—-———-—-—----——----—-——’''

defmain():

date=input(”输入年月日(yyyy-mm—dd):

")

y,m,d=(int(i)foriindate。

split(’-’))

sum=0

special=(1,3,5,7,8,10)

foriinrange(1,int(m)):

ifi==2:

ify%400==0or(y%100!

=0andy%4==0):

sum+=29

else:

sum+=28

elif(iinspecial):

sum+=31

else:

sum+=30

sum=sum+d

print(”这一天是一年中的第%d天"%sum)

if__name__==’__main__':

main()

【程序填空】

——-—--—----————----—-----—--——-—-—-———-----———-—-——--——-—

题目:

求输入数字的平方,如果平方运算后小于50则退出。

—-——-—---—————---—---—------—-——-————-——----—---—----—-—-

注意:

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

------———————-----—---—-————---——---——--—-—-——-—-—--——''’

defpower(x):

ifx**2>=50:

print(’%d的平方为:

%d,不小于50,继续’%(x,x**2))

else:

print('{}的平方为:

{},小于50,退出'.format(x,x**2))

quit()

defmain():

whileTrue:

x=int(input(’输入数字:

’))

power(x)

if__name__==’__main__':

main()

【程序改错】

—-——-——-————--—---—--——-——---———-----——-—---———--—-—-----

题目:

main()函数中实现按逗号分隔列表,并打印输出

--—---—--——--—-——--—-——-—————-—-—----—----—--—----—---—--

注意:

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

--—----————----——-—--—--————-———-————--—----—--———-—--’'’

defmain():

l=[1,2,3,4,5,6,7];

k=1;

foriinl:

print(i,end=(’’if(k==len(l))else',’));

k=k+1

if__name__=='__main__':

main()

题目:

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

111

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

.-——

2x23x3mxm

例如:

若m=5,则应输出:

0.536389

—-—--—--—————--—---————-----—--——---——-—-——-——-—-———---——

注意:

不可以增加或删除程序行,也不可以更改程序的结构.

—------—————-—-—--—-——--—-——-—-----——-—--—-———-————--—'’’

deffun(m):

y=1。

0

foriinrange(2,m+1):

y-=1。

0/(i*i)

returny

defmain():

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

"))

print('结果为:

%。

6f’%fun(m))

if__name__=='__main__’:

main()

【程序改错】

——-———-----—--—--——----—-—----—---—-—-——--—-—-—-————-—-—-

题目:

读取7个数(1—50)的整数值,每读取一个值,程序打印

出该值个数的*。

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

—-——--—————-————--—-————------—-—-—--——----—----—-——-——--

注意:

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

-——-—---——--—-——-———---—--—--——-——---—--———--————-———-’''

defmain():

n=1

whilen<=7:

a=int(input(’请输入一个整数值,并按回车继续:

'))

whilea〈1ora>50:

a=int(input(’范围是1—50,请重新输入:

’))

print(a*'*')

n+=1

if__name__==’__main__’:

main()

【程序设计】

---—----—--——---——-—-—--—--—-——-——--—-————--——-———-—-————

题目:

请编写函数fun,其功能是:

用for循环语句求1到n之间所

有偶数之和(若n为偶数包括n),并将结果返回给主函数.

(n值由用户输入)

例如:

运行程序后若输入:

10,则输出为:

sum=30.

—-—-—-——----—-——--—--------—-——--—--—----—---—-———-——————

注意:

部分源程序给出如下。

请勿改动主函数main和其它函数中的

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

-——---——-—-—-—-—--——-—-——---——--—------——---————-—---—’'’

deffun(n):

s=0

foriinrange(1,n+1,2):

s=s+i

returns

defmain():

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

】”)

foriinrange(3):

print(”【第%d次:

】"%(i+1))

n=int(input(”【请输入一个大于1的正整数n:

】”))

if(n<=1):

print(”【请输入一个大于1的正整数!

】”);

else:

print("【1到"+str(n)+”之间所有偶数之和是:

】",fun(n))

if__name__=='__main__’:

main()

’’—-—-——-—--—--—--—----—--—-—-—---——---—--—-——-—---—----

【程序设计】

—-———-—-———-————-—--———-——--——--———-——-——--——---—--—----—

题目:

请编写main函数,输入一个百分制成绩score,根据成绩打印5级等级。

(即0~59:

E;60~69:

D;70~79:

C;80~89:

B;90~100:

A)

要求:

使用if语句,根据成绩输出A等!

或B等!

或C等!

或D等!

或E等!

-—-——------——---——-—————----—-----—-——-—-----——---—-———-—

注意:

部分源程序给出如下。

请勿改动主函数main和其它函数中的

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

---———--—-———-———--—----——-—--—---—----——-—------—--—-’’'

defmain():

print("【请连续五次根据输入的成绩打印等级:

】”)

forninrange(5):

print(”【第%d次:

】"%(n+1))

score=int(input(”【请输入一个百分制成绩:

】”))

ifscore>=0andscore〈=59:

print("E等!

")

ifscore>=60andscore〈=69:

print("D等!

")

ifscore>=70andscore〈=79:

print(”C等!

")

ifscore>=80andscore〈=89:

print(”B等!

")

else:

print(”A等!

")

if__name__=='__main__':

main()’’’-—-—---—---————-———-—-—---——-———-—-—-——--—--—--—-—----

【程序设计】

--—-———--—--—-—-—-——----—-——--————--—-———————————---——-—-

题目:

请补充函数fun,其功能是:

求出n!

并将结果返回给主函数.

完成程序后请编译并运行程序。

例如:

括号内是说明

输入:

5(n=5)

输出:

5的阶乘为120

———-—--———----—-—-—-—-————————-----—----—--—-—-—--———-——-

注意:

部分源程序给出如下。

请勿改动主函数main和其它函数中的

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

---——--—--—---—-—---—---—---—--—-———-—--—--———-——-————'’'

deffun(num):

factorial=1

ifnum〈0:

print("抱歉,负数没有阶乘”)

elifnum==0:

return1

else:

foriinrange(1,num+1):

factorial=factorial*i

returnfactorial

defmain():

print(”【请连续三次计算n!

的值:

】")

forninrange(3):

print(”【第%d次:

】"%(n+1))

num=int(input("【请输入一个数字num:

】"))

factorial=fun(num)

print("【%d的阶乘为】%d”%(num,factorial))

if__name__=='__main__':

main()

'''-----—-—-——---—--——-—-———--—-——-—----—————-——-——————-—

【程序填空】

-——————-——-—---——-—————-————-——-—--—--———-—-————----———--

题目:

从键盘输入一个字符串,将小写字母全部转换成大写字母,

然后输出到一个磁盘文件“test”中保存.输入的字符串

以!

结束。

—---—---—-——-—---——————---——-———-—-————-———-——----———-——-

注意:

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

-——-—--—---—-——--—-----—--——--———-——---—-—---—-—-----—''’

defmain():

fp=open('test。

txt’,’w')

string=input('请输入一个字符串:

\n')

string=string。

upper()

fp。

write(string)

fp=open('test。

txt’,’r')

print(fp.read())

fp.close()

if__name__==’__main__’:

main()

’’—————---—-—---—-—--—-————-------—-———-——————--—----——-

【程序填空】

-—-—--—----—-—-—————---—-——-———-—————------—--—----—----—

题目:

以每行5个数来输出300以内能被7或17整除的偶数,并求出

其和。

--———---—---—--—————---———-——-—-—-—-—--—-——-—-——-———-———-

注意:

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

----——---—------—-—----——-—--————--———--—-—————-—----—'’'

defmain():

sum=0

n=0

foriinrange(1,300):

if(i%7==0ori%17==0):

if(i%2==0):

sum=sum+i;

n+=1

print("%6d”%i,end=”");

if(n%5==0):

print()

print()

print(”total=%d”%sum);

if__name__=='__main__’:

main()

''’—-——————-—--—--—-———--——-———---—------——---—-—-——--—--

【程序填空】

—--—-—--—-—-----—--——---—-—-————--——-————-———-———————--——

题目:

请输入星期几的第一个字母来判断一下是星期几,如果第

一个字母一样,则继续判断第二个字母。

—--—----—-—-——-—-—--——-—-———--—--—----——-——---—-—————-——-

注意:

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

--——-—---—-———--——-—--—-—-—--—--—--—-—-——---——-———————'’'

defmain():

letter=input(”请输入首字母:

")

letter=letter。

upper()

ifletter=='S’:

letter=input(”请输入第二个字母:

”)

ifletter==’a’:

print(’Saturday’)

elifletter==’u':

print('Sunday’)

else:

print('dataerror’)

elifletter=='F’:

print('Friday’)

elifletter==’M':

print(’Monday’)

elifletter=='T’:

letter=input(”请输入第二个字母:

")

ifletter==’u':

print(’Tuesday')

elifletter==’h':

print('Thursday')

else:

print('dataerror')

elifletter=='W':

print(’Wednesday')

else:

print(’dataerror')

if__name__=='__main__':

main()

'’'--—-———--————--——-—--———--—--—-—----———-—-—-—---------

【程序改错】

—-—-——--—-——------—-———---—-———-—-———-———--————-————————-

题目:

用起泡法对n个整数从小到大排序。

--——————---------—-——--—--—-——————————-———---—--—-—-—----

注意:

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

-—-—-—-----—-—-——--—————--—----————-—-———-—-----—--——-'’'

defSort(date):

length=len(date)

foriinrange(length—1):

forjinrange(0,length—i—1):

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

t=date[j]

date[j]=date[j+1]

date[j+1]=t

returndate

defmain():

n=int(input(”请输入n个整数的个数n:

"))

a=[]

foriinrange(n):

a。

append(int(input(”请分别输入整数元素,并按回车继续:

”)))

print('排序前的数组为:

’,a)

print(’排序后的数组为:

’,Sort(a))

if__name__=='__main__’:

main()

’'’—-——-——--—---—--—-—-—--———-----—————---——-—-———-————--

【程序改错】

--—--——————-———-——-——-——-———————-—-—-—--—---——--—-—-——-——

题目:

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

程序中函数fun的功能是:

利用折半查找法查找整数m在

数组中的位置。

若找到,返回其下标值;否则,返回-1.

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

说明:

折半查找的基本算法是:

每次查找前先确定数组中待查的

范围low和high(low

元素的值进行比较。

如果m的值大于中间位置元素的值,

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

下一次的查找范围落在中间位置之前的元素中。

直到low>high,

查找结束。

——-——----—----—-——---—--————-——--——--————-———----——-—-----—

注意:

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

--————--——-—--—-—-——---—-——-—-————----—--———-—-——--—--’'’

deffun(a,m):

low=0

high=len(a)-1

while(low<=high):

mid=(low+high)//2

if(m

high=mid-1

else(m

low=mid+1

else:

returnmid

return-1

defmain():

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

print(”a数组中的数据如下:

”)

foriinrange(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()

'’’---———---————--—-——————---——--——-—-——---—---———-—----—

【程序改错】

-—-—-—-—-—----—--——-—-—-———-——————-—-—-—-———----——--———--

题目:

输入一个时间(小时:

分钟:

秒),输出该时间经过5分30秒后的时间.

-----——-—-——-—---———----——--—-——-----——---———-——-——---——-

注意:

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

—--—-—-————-——--—---——---——-—-—-—-———-———--—-—----—--—'’’

defmain():

hour,minute,second=input(’请输入一个时间(h:

m:

s):

’).split(’:

')

hour=int(hour)

minute=int(minute)

second=int(second)

second+=30

ifsecond〉=60:

second=second—60

minute+=1

minute+=5

ifminute>=60:

minute=minute-60

hour+=1

ifhour==24:

hour=0

print(’%d:

%d:

%d’%(hour,minute,second))

if__name__==’__main__’:

main()

’’'---—----——-—--———-——-----—--—-——-—

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

当前位置:首页 > 自然科学 > 物理

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

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