Python习题选编
华东师大信息学院计算中心
一.程序结构与算法部分:
1. 编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。
参考代码:
x = int(input("Please enter first integer: "))
y = int(input("Please enter second integer: "))
if (x == y):
print("两数相同!")
elif (x > y):
print("较大数为:",x)
else:
print("较大数为:",y);
2.写一个算法(流程图和python程序):输入三个数,输出其最大者。
参考代码:
a,b,c=3,4,5
if python中列表split的用法a <= b:
if c < b:
print ("b是最大的数")
else:
print ("c是最大的数")
else:
if c < a:
print ("a是最大的数")
else:
print ("c是最大的数")
3.使用Python编程,求1~100间所有偶数的和。
参考代码:
sum=0
for x in range(1,101):
if x % 2==0:
print(x)
sum=sum+x
print("累加和是:",sum)
4.用Python编写程序,输入一年份,判断该年份是否是闰年并输出结果。
注:凡符合下面两个条件之一的年份是闰年。
(1)js获取checked属性>噼哩噼哩霹雳霹雳一整晚能被4整除但不能被100整除。
(2)能被400整除。
参考代码:
year = int(input("Please enter the year: "))
if ((year%4==0 and year%100!=0) or (year%400==0)):
print(year,"is a leap year.")
else:
print(year,"is not a leap year.")
5.用Python编程,假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?
参考代码:
cunkuan = 10000 #本金10000元
years=0
while cunkuan<20000:
years+=1
cunkuan=cunkuan*(1+0.0325)
print(str(years)+"年以后,存款会翻番")
6.从键盘接收一百分制成绩(0~100),要求输出其对应的成绩等级A~E。其中,90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。
参考答案:
score=int(input('请输入成绩(0~100):'))
if score > 100:
grade = "输入错误!"
elif score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
气象python零基础入门教程elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
elif score >= 0:
grade = 'E'
else:
grade = "输入错误!"
print(grade)
7.猜数游戏。预设一个0~9之间的整数,让用户猜一猜并输入所猜的数,如果大于预设的数,显示“太大”;小于预设的数,显示“太小”,如此循环,直至猜中该数,显示“恭喜!你猜中了!”。
参考答案:
num=7
while True:
guess=int(input('请输入你猜的数(0~9):'))
if guess == num:
print("恭喜!你猜中了!")
break;
elif guess > num:
print("太大")
else:
print("太小")
8.输入一个数,判断这个数是否为素数,并输出判断结果。
(所谓素数,是指除了1和该数本身之外,不能被其它任何整数整除的数。下图为参考流程图unix操作系统基础视频教程)
参考答案:
山东it培训机构import math
n=int(input("请输入一个数:"))
x=int(math.sqrt(n))
i,w=2,0
for i in range (2,x+1):
if n%i==0:
w=1
if w==1:
print(n,"不是素数。")
else:
print(n,"是素数。")
或
import math
n=int(input('请输入一个数:'))
i,w=2,0
while i <= int(math.sqrt(n)) and w==0:
if n%i == 0:
w = 1
break
else:
i = i+1
if w==0:
print(n,"是素数!")
else:
print(n,"不是素数!")
或
import math
n=int(input('请输入一个数:'))
i=2
while i <= int(math.sqrt(n)) :
if n%i == 0:
print(n,"不是素数!")
break
else:
i=i+1
else:
print(n,"是素数!")
9.输入一个时间(小时:分钟:秒),输出该时间经过5分30秒后的时间。
参考答案:
hour,minute,second=input('请输入一个时间(h:m:s):').split(':')
hour=int(hour)
minute=int(minute)
second=int(second)
second+=30
if second >= 60:
second = second-60
minute += 1
minute+=5
if minute >= 60:
minute = minute-60
hour += 1
if hour == 24:
hour = 0
print('%d:%d:%d'%(hour,minute,second))
10.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。编程,出1000之内的所有完数,并输出该完数及对应的因子。(枚举法)
参考答案:
m=1000
for a in range(2,m+1):
s=a
L1=[]
for i in range(1,a):
if a%i==0:
s-=i
L1.append(i)
if s==0:
print("完数:%d,因子包括:"%a,end="")
for j in range(1,len(L1)):
print("%d"%L1[j],end=",")
print("\n")
11.编程,解决猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。(迭代法)
参考答案:
day=9
x=1
while day>0:
x=(x+1)*2
day-=1
print("total=",x)
二.输入输出与文件部分:
1. 编写一个python程序,输入两个数,输出两数之和。
参考代码:
x = int(input("Please enter first integer: "))
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论