数据组六月Python考核任务
任务要求
1.输入三条边长,如果能构成三角形就计算周长和面积
2.输入一个正整数判断是不是素数,是就输出Yes,不是就输出No
3.输入两个正整数,计算它们的最大公约数和最小公倍数
4.生成斐波那契数列的前20个数
5.实现跑马灯文字(文字内容随意)
6.将上述代码做成五个函数在a.py文件里
7.用b.py文件调用上面a.py文件里的五个函数,输入1-5的题号,实现相应的功能
实现
a.py
def calculator():
a, b, c = eval(input('请输入三条边长,以英文逗号隔开:'))
if a+b > c and b+c > a and c+a > b:
C = a + b + c
p = C/2
S = pow(p*(p-a)*(p-b)*(p-c), 0.5)
return C, S
def is_prime():
from math import sqrt
n = eval(input('请输入一个正整数:'))
for i in range(2, int(sqrt(n))+2):
if n%i == 0:
print('No')
break
else:
print('Yes')
def zdgys(m, n):
while m%n != 0:
m, n = n, m%n
return n
def zxgbs(m, n):
return m * n // zdgys(m, n)
def fibo(n):
if n == 1 or n == 2:
return 1
else:
return fibo(n-1) + fibo(n-2)
def wordshow():
from time import sleep
s = '小哥哥可以加你微信嘛 关注你很久啦 '
while True:
s = s[1:] + s[0]
print('\r{}'.format(s), end='')
sleep(0.2)
b.py
import a
print('请输入相应题号:')
print('1.输入三条边长,如果能构成三角形就计算周长和面积')
print('2.输入一个正整数判断是不是素数,是就输出Yes,不是就输出No')
print('3.输入两个正整数,计算它们的最大公约数和最小公倍数')
print('4.生成斐波那契数列的前20个数')
print('5.实现跑马灯文字')
while True:
input_num = eval(input('输入题号:'))
if input_num == 1:
C, S = a.calculator()
print('周长是:{},面积是:{}。'.format(C, S))
elif input_num == 2:
a.is_prime()
elif input_num == 3:
p, q = eval(input('请输入两个正整数,以英文逗号隔开:'))
Ma=a.zdgys(p, q)
mi=a.zxgbs(p, q)
print('最大公约数是:{},\n最小公倍数是:{}。'.format(Ma,mi))
elif input_num == 4:
for i in range(1,21):
print('{:05}'.format(a.fibo(i)),end=' ')
if i%5 == 0:
print()
elif input_num == 5:
a.wordshow()
else:
print('输入错误,请重新输入题号')
print('请输入相应题号:')
print('1.输入三条边长,如果能构成三角形就计算周长和面积')
print('2.输入一个正整数判断是不是素数,是就输出Yes,不是就输出No')
print('3.输入两个正整数,计算它们的最大公约数和最小公倍数')
print('4.生成斐波那契数列的前20个数')
print('5.实现跑马灯文字')