Python123 作业题答案
制作不易,点个赞吧*/~
目录
第一章
世界,你好!
圆面积的计算 S
说句心里话 A
第二章
字符串逆序输出
格式化输出
计算矩形面积
温度转换 II
计一个重量转换程序
蟒蛇绘制 C
第三章
a除以b
2的n次方
表达式求值
阶乘
拆分数字
天天向上的力量 B
第三章2
字符替换
获取浮点数的整数部分和小数部分
英文字符串单词个数统计
获取月份字符串
判断闰年
三角形面积
第四章1
空气质量提醒
BMI指数计算
计算1+2+3+……+n的值
计算m到n的累加和
输出倒三角型
输入n,输出2*n-1行的菱形图形
第四章2
n到m之间所有奇数的和
输入数据n,使用while语句,求出1+2+3+...+n的和
使用while语句计算n到m的所有数据和
编写程序计算以下多个数据项相加的和
计算多项相加的和
输入一个数据,判断它是否是素数
第四章3
使用双重循环在屏幕上打印出矩阵
使用双重循环输出上三角九九乘法表
输出1-20之间(不包含1和20)的所有素数,每个数据占一行
百钱买百鸡问题
蒙特卡罗法求π值
第四章4
输入一个数据x
分别使用20个宽度右对齐格式
分段函数计算
在一行上输入三个边长,判断是否能构成三角形
计算 1 + 1/1! + 1/2! + 1/3! + … + 1/n
使用循环打印出下列图形
使用蒙特卡洛法求出曲线y=x*x与x轴之间在0-1范围内的面积
第五章 函数1
编写打印从n到m之间数据的函数
编写打印星号三角形函数
计算输入数据x,y之间所有数据的和
闰年判断函数
哥德巴赫猜想
第六章 组合数据类型1
去重排序
统计出现次数并排序
编写对列表进行统计的函数
第六章 组合数据类型2
矩阵加法
矩阵乘法
字典存储数据
斐波那契数列
比赛评分计算
第七章
程序设计题 寻找车辆
numpy基础
蒙特卡洛法求PI
1 PYTHON基础
根据身高体重,判断人的胖瘦
求1+2+...+n的和
字符串逆序输出
在屏幕上显示输出如图所示的文本字符串(提示:使用for循环)
2 内置数据类型、函数和类
二分法求平方根B
列表生成字典。
100以内素数之和。
第一章
世界,你好!
打印输出Hello World!是所有程序设计学习的第一个入门实例,采用Python语言输出这个实例的代码如下:
print('Hello world!')
请使用Python语言输出这个例子的中文版本,向世界发出第一声问候吧!(注意区分中文全角和英文半角符号)
print("世界,你好!")
圆面积的计算 S
根据圆的半径计算圆面积,半径为25。请编写并运行如下代码:
radius = 25 #圆的半径是25 area = 3.1415 * radius * radius #根据公式计算圆的面积 print("{:.2f}".format(area)) #仅输出两位小数结果
《Python语言程序设计(第2版)》,第18页,微实例1.1
radius=25 area=3.1415*radius*radius print("{:.2f}".format(area))
说句心里话 A
分两次从控制台接收用户的两个输入:第一个内容为"人名",第二个内容为"心里话"。
然后将这两个输入内容组成如下句型并输出出来:
(人名),我想对你说,(心里话)
此题目是AutoOJ(自动评阅)类型,请注意:
1. 输入使用input(""),不要增加提示信息
2. 输出与要求一致
name=input() said=input() print(name+",我想对你说,"+said)
第二章
字符串逆序输出
用户输入一个字符串,倒序输出。
str=input() print(str[::-1])
格式化输出
用户输入一个小数,用format格式化输出,保留3位小数。
n=eval(input()) print('{:.3f}'.format(n))
计算矩形面积
用户输入矩形的长和宽,计算其面积并输出,结果四舍五入,保留2位小数。
a=eval(input()) b=eval(input()) print('{:.2f}'.format(a*b))
温度转换 II
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fabrenheit)。
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
(1) 输入输出的摄氏度采用大写字母C开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;
(2) 输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:F87.65指摄氏度87.65度;
(3) 不考虑异常输入的问题,输出保留小数点后两位;
(4) 使用input()获得测试用例输入时,不要增加提示字符串。
_in=input() n=float(_in[1:]) if(_in[0]=='C'): res=n*1.8+32 print("F{:.2f}".format(res)) elif(_in[0]=='F'): res=(n-32)/1.8 print("C{:.2f}".format(res))
计一个重量转换程序
参考温度转换实例编制一个重量转换程序,保留2位小数。
假定重量转换比值为:1千克(kg, 公斤)=2斤
# WeightConvert # 1千克(kg, 公斤)=2斤 TempStr = input() if TempStr[-1]=='克': t=float(TempStr[:-2]) t=t*2 print('{:.2f}斤'.format(t)) # 判断是否属于斤,并执行转换 elif TempStr[-1]=='斤': t=float(TempStr[:-1]) t=t/2 print('{:.2f}千克'.format(t)) # 输入错误时,提示信息 else: print('输入错误')
蟒蛇绘制 C
下面给出了一个"蟒蛇绘制"实例,先按代码敲进去,运行查看效果,然后尝试对代码进行修改,使其发生变化。
上述代码的输出如下:
请修改上述代码,编写一个"蟒蛇绘制"扩展实例,要求:
(1) 与上述蟒蛇绘制的输出效果不同,输出效果不同可以是:颜色、长度、角度、姿态等。
(2) 有一定创意。
(3) 使用Python turtle库
#DrawPython.py import turtle as t t.setup(650,650,200,200) t.penup() t.fd(-250) t.pendown() t.pensize(25) t.pencolor("purple") t.seth(-40) for i in range(4): t.circle(40,80) t.circle(-40,80) t.circle(40,80/2) t.fd(40) t.circle(16,180) t.fd(40*2/3) t.right(180) t.penup() t.fd(-180) t.pendown() t.pensize(25) t.pencolor("pink") t.left(25) t.circle(200,60) t.circle(70,140) t.right(90) t.circle(70,140) t.circle(200,60)
第三章
a除以b
计算a除以b,结果四舍五入,保留2位小数。
a=eval(input()) b=eval(input()) if b==0: print("除零错误") else: print('{:.2f}'.format(a/b))
2的n次方
计算2的n次方,n由用户输入
n=eval(input()) res=1 for i in range(0,n): res=res*2 print(res)
表达式求值
已经a,b,c的值分别为5,8和3,利用以下公式计算并输出x的值。
import math a=5 b=8 c=3 x=(-b+math.sqrt(b*b-4*a*c))/(2*a) print(x)
阶乘
用户输入一个正整数,使用数学库,计算其阶乘
n=eval(input()) res=1 for i in range(1,n+1): res=res*i print(res)
拆分数字
输入任意一个三位整数,请用内置的数值运算操作符输出该数字的个位,十位和百位数字。结果逗号隔开同行输出
str1=str(abs(int(input()))) print(str1[2],str1[1],str1[0],sep=',')
天天向上的力量 B
一年365天,以第1天的能力值为基数,记为1.0。当好好学习时,能力值相比前一天提高N‰;当没有学习时,由于遗忘等原因能力值相比前一天下降N‰。每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范围是1到10,N可以是小数。
获得用户输入N,计算每天努力和每天放任365天后的能力值及能力间比值,其中,能力值保留小数点后2位,能力间比值输出整数,输出结果间采用“逗号+空格”格式。
此题目是OJ题,使用input("")获得N。
n1=eval(input()) n=n1/1000 hard=1.00 lazy=1.00 for i in range(1,365): hard=hard*(1+n) lazy=lazy*(1-n) neng=int(hard/lazy) print('{:.2f}, {:.2f}, {:}'.format(hard,lazy,neng))
第三章2
字符替换
假设有段英文,其中有单独字母“P”被误写为“p”,请编写程序进行纠正。
strr=input() for i in range(len(strr)): if(strr[i]=='p'): print(strr[i].upper(),end="") else: print(strr[i],end="")
获取浮点数的整数部分和小数部分
要求用户输入一个小数,能够分别获取整数部分和小数部分,并输出
num1,num2=input().split('.') print(f"整数{num1}小数{int(num2)}")
英文字符串单词个数统计
输入一个英文字符串,按照空格分割单词并统计单词个数
strr=input().split(" ") print(len(strr))
获取月份字符串
输入一个1~12的数字,输出相应的月份,例如输入3,输出“三月份”
month="一二三四五六七八九十" num=eval(input()) if num>10: print("十{}月份".format(month[num-11])) else: print("{}月份".format(month[num-1]))
判断闰年
输入一个年份,判断是否是闰年
闰年判断标准如下,满足其下1个条件即可
1、能被4整除,但不能被100整除
2、能被400整除
year=eval(input()) if (year%4==0 and year%100!=0) or year%400==0: print("{}年是闰年".format(year)) else: print("{}年不是闰年".format(year))
三角形面积
输入三角形的三条边a、b、c,判断三条边是否能够构成三角形,如果能够构成三角形,则输出该三角形的面积,否则输出“不能构成三角形”。三角形的判断条件:任意两边之和大于第三边。面积公式如下:
,其中s=(a+b+c)/2
a=eval(input()) b=eval(input()) c=eval(input()) if a+b>c and a+c>b and b+c>a: s=(a+b+c)/2 area=(s*(s-a)*(s-b)*(s-c))**0.5 print("{:.1f}".format(area)) else: print("不能构成三角形")
第四章1
空气质量提醒
根据键盘输入的PM值提示不同的信息
如果0=0: print("空气优") else: print("错误输入")
BMI指数计算
BMI指数 = 体重 (kg) / 身高的平方 (m2)
计算方法见下表:
偏瘦 | =28: print("肥胖") elif bmi>=24: print("偏胖") elif bmi>=18.5: print("正常") else: print("偏瘦") 计算1+2+3+……+n的值n=eval(input()) sum=0 for i in range(0,n+1): sum+=i print(sum) 计算m到n的累加和键盘输入整数m和n的值(其中m |