编写一个python程序、输入两个数、比较它们的大小_华东师范大学Python习题选编 -...

这篇博客是华东师范大学信息学院计算中心的Python习题选编,涵盖了多个Python编程题目,包括比较两个数的大小、找三个数的最大值、求偶数和、判断闰年、计算存款翻番的年数、成绩等级转换、猜数游戏、素数判断、完数搜索、猴子吃桃问题等,旨在锻炼和提升Python编程能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python习题选编

华东师大信息学院计算中心

一.程序结构与算法部分:

1. 编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。 参考代码:

x = int(input(\y = int(input(\if (x == y):

print(\两数相同!\elif (x > y):

print(\较大数为:\else:

print(\较大数为:\

2.写一个算法(流程图和python程序):输入三个数,输出其最大者。

参考代码:

a,b,c=3,4,5 if a <= b: if c < b:

print (\是最大的数\ else:

print (\是最大的数\else:

if c < a:

print (\是最大的数\ else:

print (\是最大的数\

3.使用Python编程,求1~100间所有偶数的和。 参考代码: sum=0

for x in range(1,101): if x % 2==0: print(x) sum=sum+x print(\累加和是:\

4.用Python编写程序,输入一年份,判断该年份是否是闰年并输出结果。 注:凡符合下面两个条件之一的年份是闰年。

(1) 能被4整除但不能被100整除。 (2) 能被400整除。 参考代码:

year = int(input(\

if ((year%4==0 and year0!=0) or (year@0==0)): 加个括号即可 print(year,\else:

print(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'

elif score >= 70: 无需写小于什么什么的 因为elif就已经是除了这个之外的了 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和该数本身之外,不能被其它任何整数整除的数。下

图为参考流程图)

参考答案: 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.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,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,因子包括:\ for j in range(1,len(L1)): 为啥不是0开头的 print(\ print(\

10.编程,解决猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。(迭代法)

参考答案: day=9 x=1

while day>0: x=(x+1)*2 day-=1 print(\

二.文件部分:

1. 在当前目录下有一个文件名为temp.txt的文件,存放着上海从2014年3月10日(周一)到3月16日(周日)间一周的最高和最低气温(单位为摄氏度)。其中,第一行为最高气温,第二行为最低气温。编程,找出这一周中第几天最热(按最高气温计算)?最高多少度?这一周中第几天最冷(按最低气温计算)?最冷多少度? 参考答案:

flname=\f=open(flname)

ht=(f.readline()).strip() 暂且先只读一行 L1=list(ht.split(','))

lt=(f.readline()).strip() 此处再读第二行 L2=list(lt.split(',')) f.close()

for i in range(len(L1)): L1[i]=int(L1[i]) L2[i]=int(L2[i])

maxVal=L1[0] 可用max.(L1) maxDay=0 minVal=L2[0] minDay=0

for i in range(1,len(L1)): if L1[i]>maxVal:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值