大学Python程序题题库Word文档下载推荐.docx
《大学Python程序题题库Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《大学Python程序题题库Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
if__name__=='
__main__'
:
main()
求100-999之间的水仙花数
说明:
水仙花数是指一个三位数的各位数字的立方和是这个数本身。
例如:
153=1^3+5^3+3^3)。
---------------------------------------------------------
注意:
除要求填空的位置之外,请勿改动程序中的其他内容。
------------------------------------------------------'
'
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)
【程序填空】
输入某年某月某日,判断这一天是这一年的第几天?
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
sum+=28
elif(iinspecial):
sum+=31
sum+=30
sum=sum+d
这一天是一年中的第%d天"
%sum)
求输入数字的平方,如果平方运算后小于50则退出。
defpower(x):
ifx**2>
=50:
print('
%d的平方为:
%d,不小于50,继续'
%(x,x**2))
{}的平方为:
{},小于50,退出'
.format(x,x**2))
quit()
whileTrue:
x=int(input('
输入数字:
power(x)
main()
【程序改错】
main()函数中实现按逗号分隔列表,并打印输出
不可以增加或删除程序行,也不可以更改程序的结构。
l=[1,2,3,4,5,6,7];
k=1;
foriinl:
print(i,end=('
if(k==len(l))else'
'
));
k=k+1
根据整型形参m的值,计算如下公式的值。
111
t=1-——-——-...-——
2x23x3mxm
若m=5,则应输出:
0.536389
deffun(m):
y=1.0
foriinrange(2,m+1):
y-=1.0/(i*i)
returny
m=int(input("
请输入整型形参m的值:
))
结果为:
%.6f'
%fun(m))
读取7个数(1-50)的整数值,每读取一个值,程序打印
出该值个数的*。
请改正程序中的错误,使它能得出正确的结果。
n=1
whilen<
=7:
a=int(input('
请输入一个整数值,并按回车继续:
whilea<
1ora>
50:
范围是1-50,请重新输入:
print(a*'
*'
n+=1
【程序设计】
请编写函数fun,其功能是:
用for循环语句求1到n之间所
有偶数之和(若n为偶数包括n),并将结果返回给主函数。
(n值由用户输入)
运行程序后若输入:
10,则输出为:
sum=30。
部分源程序给出如下。
请勿改动主函数main和其它函数中的
任何内容,仅在函数的注释标志之间填入所编写的若干语句。
s=0
foriinrange(1,n+1,2):
s=s+i
returns
【请分别三次计算问题:
foriinrange(3):
%(i+1))
n=int(input("
【请输入一个大于1的正整数n:
if(n<
=1):
【请输入一个大于1的正整数!
);
【1到"
+str(n)+"
之间所有偶数之和是:
fun(n))
------------------------------------------------------
请编写main函数,输入一个百分制成绩score,根据成绩打印5级等级。
(即0~59:
E;
60~69:
D;
70~79:
C;
80~89:
B;
90~100:
A)
使用if语句,根据成绩输出A等!
或B等!
或C等!
或D等!
或E等!
【请连续五次根据输入的成绩打印等级:
forninrange(5):
%(n+1))
score=int(input("
【请输入一个百分制成绩:
】"
ifscore>
=0andscore<
=59:
E等!
=60andscore<
=69:
D等!
=70andscore<
=79:
C等!
=80andscore<
=89:
B等!
A等!
if__name__=='
main()'
请补充函数fun,其功能是:
求出n!
并将结果返回给主函数。
完成程序后请编译并运行程序。
括号内是说明
输入:
5(n=5)
输出:
5的阶乘为120
deffun(num):
factorial=1
ifnum<
0:
抱歉,负数没有阶乘"
elifnum==0:
return1
foriinrange(1,num+1):
factorial=factorial*i
returnfactorial
【请连续三次计算n!
的值:
forninrange(3):
num=int(input("
【请输入一个数字num:
】"
factorial=fun(num)
【%d的阶乘为】%d"
%(num,factorial))
main()
'
从键盘输入一个字符串,将小写字母全部转换成大写字母,
然后输出到一个磁盘文件“test”中保存。
输入的字符串
以!
结束。
fp=open('
test.txt'
w'
string=input('
请输入一个字符串:
\n'
string=string.upper()
fp.write(string)
r'
print(fp.read())
fp.close()
以每行5个数来输出300以内能被7或17整除的偶数,并求出
其和。
n=0
foriinrange(1,300):
if(i%7==0ori%17==0):
if(i%2==0):
sum=sum+i;
n+=1
%6d"
%i,end="
"
if(n%5==0):
print()
print()
total=%d"
%sum);
请输入星期几的第一个字母来判断一下是星期几,如果第
一个字母一样,则继续判断第二个字母。
letter=input("
请输入首字母:
letter=letter.upper()
ifletter=='
S'
请输入第二个字母:
a'
print('
Saturday'
elifletter=='
u'
Sunday'
dataerror'
F'
Friday'
M'
Monday'
T'
Tuesday'
h'
Thursday'
W'
Wednesday'
用起泡法对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
请输入n个整数的个数n:
a=[]
foriinrange(n):
a.append(int(input("
请分别输入整数元素,并按回车继续:
)))
排序前的数组为:
a)
排序后的数组为:
Sort(a))
由N个有序整数组成的数列已放在一维数组中,下列给定
程序中函数fun的功能是:
利用折半查找法查找整数m在
数组中的位置。
若找到,返回其下标值;
否则,返回-1。
折半查找的基本算法是:
每次查找前先确定数组中待查的
范围low和high(low<
high),然后用m与中间位置(mid)上
元素的值进行比较。
如果m的值大于中间位置元素的值,
则下一次的查找范围落在中间位置之后的元素中;
反之,
下一次的查找范围落在中间位置之前的元素中。
直到low>
high,
查找结束。
-----------------------------------------------------------
deffun(a,m):
low=0
high=len(a)-1
while(low<
=high):
mid=(low+high)//2
if(m<
a[mid]):
high=mid-1
else(m<
low=mid+1
returnmid
return-1
a=[-3,4,7,9,13,45,67,89,100,180]
a数组中的数据如下:
foriinrange(len(a)):
%d"
%a[i])
请输入要查找的整数m,并按回车继续:
k=fun(a,m)
if(k>
=0):
m={},index={}"
.format(m,k))
没有找到!
)
输入一个时间(小时:
分钟:
秒),输出该时间经过5分30秒后的时间。
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
%d:
%d'
%(hour,minute,second))
----------------------------------