python期末复习
一、将This is TOM字符串输出到三行,每行一个单词。注意:每个单词后面没有空格
输出样例:
This
is
TOM
知识点:输出语句换行符
答案:print('''This\nis\nTOM''')
二、提示用户从键盘上输入两个整数(假设都不为0),在屏幕上打印这两个整数的和、差、积、商、余数。
知识点:运算符输入语句表达式
答案:
#第一步,输入两个整数
a=int(input("请输入一个整数(不为0):"))
b=int(input("请输入另一个整数(不为0):"))
#第二步,计算这两个整数的和
add=a+b
#计算差,差取绝对值
minus=a-b
#计算乘积
mult=a*b
#计算商
divide=a/b
#计算余数
yushu=a%b
#第三步,输出结果,商保留一位小数
print("这两个整数的和为{0},差为{1},积为{2},商为{3:.1f},余数为{4}".format(add,minus,mult,divide,yushu))
三、提示用户从键盘上输入一个摄氏温度,在屏幕上输出该摄氏温度对应的华氏温度。
知识点:输入表达式输出
答案:
#第一步,输入一个摄氏温度
C=input("请输入一个摄氏温度:")
#第二步,计算摄氏温度转换为华氏温度
C=eval(C)
F=C*9/5+32
#第三步,输出结果,华氏温度保留一位小数
print("摄氏温度{}对应的华氏温度为{:.1f}".format(C,F))
四、提示用户从键盘上输入一个9位的整数,将其分解为3个3位的整数并输出,其中个、十、百位为一个数,千、万、十万位为一个数,百万、千万、亿位为一个数。例如:当输入123456789,它可以被分解为123、456和789。
知识点:运算符表达式
答案:字符串函数编程题
#输入一个9位整数
num=input("请输入一个9位的整数:")
#将整数分解,先用整数的百万、千万、亿万组成的一个数
num=eval(num)
a=num//1000000
#千、万、十万位组成一个数
b=num//1000%1000
#个、十、百位组成一个数
c=num%1000
#输出结果
print("这个9位整数的个、十、百位为一个数是{}\n千、万、十万位为一个数为是{}\n百万、千万、亿位为一个数是{}".format(c,b,a))
五、提示用户从键盘上输入一个4位的正整数(假设个位不为0),在屏幕上输出该数的反序数。反序数即原数各位上的数字颠倒次序所形成的另一个整数。例如,1234的反序数是4321;2468的反序数是8642。
知识点:运算符计算思路
答案:
#提示用户输入一个不为零的四位正整数
x=input("请输入一个不为零的四位正整数:")
x=eval(x)
#分离各位数
a=x//1000
b=x//100%10
c=x//10%10
d=x%10
#重新排列各位数的顺序
y=d*1000+c*100+b*10+a
#打印反序数的结果
print("这个不为零的四位正整数{}的反序数为{}".format(x,y))
六、提示用户从键盘上输入一个代表分钟的整数(如10000000),输出这个分钟数代表了多少年零多少天零多少小时零多少分钟。为了简化问题,假设一年有365天。
知识点:计算表达式
答案:
#提示用户输入一个代表分钟的整数
x=input("请输入一个代表分钟的整数:")
x=eval(x)
#计算这个分钟代表有多少年零多少天零多少小时零多少分钟
year=x//525600
day=(x-year*525600)//1440
hour=(x-year*525600-day*1440)//60
minu=x-year*525600-day*1440-hour*60
#输出结果
print("输入的整数代表有{}年零{}天零{}小时零{}分钟".format(year,day,hour,minu))
七、提示用户从键盘上输入一个有效的年份,在屏幕上打印这个年份是否为闰年,要求使用条件运算符完成程序中的功能。条件运算符的语法为:表达式1 if 表达式2 else 表达式3,其中若表达式2的值为True,则整个算式的值为表达式1的值,否则,整个算式的值为表达式3的值。
知识点:条件运算符
答案:
#提示用户输入一个有效的年份
year=input("请输入一个年份:")
year=eval(year)
#计算是否是闰年
a=True if(year%4==0 and year%100!=0)or year%400==0 else False
#输出结果
print("{}年是闰年{}".format(year,a))
八、提示用户从键盘上输入一个正整数n,使用小海龟在屏幕上输出一个任意大小和颜的正n边形。
知识点:使用小海龟画图
答案:
#提示用户输入一个正整数
n=input("请输入一个正整数:")
n=eval(n)
#导入小海龟,转向
import turtle as t
t.setheading(180)
#计算正n边形的内角度数
a=180*(n-2)/n
#画正n边形
for i in range(n):
t.forward(80)
t.right(180-a)
t.hideturtle()
t.done()
九、在程序中编写一个add()函数,参数为两个数值,返回这两个参数的和。然后在程序中提示用户输入两个数,通过调用自己编写的add()函数完成求和的运算,最后打印出函数运行的结果。
知识点:定义函数调用函数
答案:
#定义一个add()函数
def add(a,b):
return a+b
#提示用户输入两个数
x=input("请输入一个数:")
y=input("请输入另一个数:")
x,y=eval(x),eval(y)
#调用add函数
z=add(x,y)
#输出结果
print("{}加上{}等于{}".format(x,y,z))
十、使用小海龟,在屏幕上绘制一系列的同心圆,并未这些同心圆填充上不同的颜。
知识点:用小海龟画图定义函数调用函数
答案:
#导入小海龟
import turtle as t
t.speed(10)
#定义一个画同心圆的函数
def drawcircle(color,r,a):#r为圆的半径a为到圆心的距离
t.up()
<(0,a)
t.down()
t.begin_fill()
t.circle(-r)
#画圆
drawcircle("blue",150,175)
drawcircle("brown",125,150)
drawcircle("red",100,125)
drawcircle("orange",75,100)
drawcircle("yellow",50,75)
drawcircle("pink",25,50)
t.hideturtle()
t.done()
十一、输出所有100到999之间的水仙花数。(水仙花是指一个三位数,其各位数字的立方和等于该数本身,比如153就是一个水仙花数,因为153=1**3+5**3+3**3)
知识点:程序结构中的循环结构if语句
答案:
#告诉用户输出的内容是什么
print("100到999之间的水仙花数有:")
#用for循环逐个测试
for i in range(100,1000):
a=i//100 #分离百位数
b=i//10%10#分离十位数
c=i%10 #分离个位数
if a**3+b**3+c**3==i: #判断是否是水仙花数
print(i,end=" ") #输出是水仙花数的数
十二、提示用户从键盘上输入一个大于1的自然数,判断其是否为素数(所谓素数就是除了1和它本身外,不能被其他自然数整除)。
知识点:循环结构break语句if else语句
答案:
#提示用户输入一个大于1的自然数
a=input("请输入一个大于1的自然数:")
a=int(a)
#用for循环从2开始整除
for i in range(2,a):
if a%i==0:#判断是否是素数
print("{}不是素数".format(a))#打印结果
break
else:
print("{}是素数".format(a))
十三、提示用户从键盘上输入一个数num,判断该数num是否为回文数。(所谓回文数就是一个正数顺过来和反过来都是一样的,比如123321、15851等等,就是回文数)
知识点:while循环if else语句

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。