#最大公约数和最小公倍数
x =int(input('x = '))
y =int(input('y = '))#如果x大于y就交换x和y的值if x > y:# 通过下面的操作将y的值赋给x, 将x的值赋给y
x, y = y, x
#从两个数中较的数开始做递减的循环for factor inrange(x,0,-1):if x % factor ==0and y % factor ==0:print('%d和%d的最大公约数是%d'%(x, y, factor))print('%d和%d的最小公倍数是%d'%(x, y, x * y // factor))break
#以后可以调用下面的函数直接求出结果defgcd(x, y):"""求最大公约数"""(x, y)=(y, x)if x > y else(x, y)for factor inrange(x,0,-1):if x % factor ==0and y % factor ==0:return factor
deflcm(x, y):"""求最小公倍数"""return x * y // gcd(x, y)
#找出1~9999之间的所有完美数import math
for num inrange(1,10000):
result =0for factor inrange(1,int(math.sqrt(num))+1):if num % factor ==0:
result += factor
if factor >1and num // factor != factor:
result += num // factor
if result == num:print(num)
#判断素数和回文数for num inrange(2,100):
is_prime =Truefor factor inrange(2,int(math.sqrt(num))+1):if num % factor ==0:
is_prime =Falsebreakif is_prime:print(num, end=' ')#实现判断一个数是不是素数的函数defis_prime(num):"""判断一个数是不是素数"""for factor inrange(2,int(num **0.5)+1):if num % factor ==0:returnFalsereturnTrueif num !=1elseFalse#写一个程序判断输入的正整数是不是回文素数if __name__ =='__main__':
num =int(input('请输入正整数: '))if is_palindrome(num)and is_prime(num):print('%d是回文素数'% num)
#输出斐波那契数列的前20个数 1 1 2 3 5 8 13 21 ...
a =0
b =1for _ inrange(20):
a, b = b, a + b
print(a, end=' ')
defis_palindrome(num):"""判断一个数是不是回文数"""
temp = num
total =0while temp >0:
total = total *10+ temp %10
temp //=10return total == num
#更新跑马灯import os
import time
defmain():
content ='北京欢迎你为你开天辟地…………'whileTrue:# 清理屏幕上的输出
os.system('cls')# os.system('clear')print(content)# 休眠200毫秒
time.sleep(0.2)
content = content[1:]+ content[0]if __name__ =='__main__':
main()
#计算指定的年月日是这一年的第几天defis_leap_year(year):"""
判断指定的年份是不是闰年
:param year: 年份
:return: 闰年返回True平年返回False
"""return year %4==0and year %100!=0or year %400==0defwhich_day(year, month, date):"""
计算传入的日期是这一年的第几天
:param year: 年
:param month: 月
:param date: 日
:return: 第几天
"""
days_of_month =[[31,28,31,30,31,30,31,31,30,31,30,31],[31,29,31,30,31,30,31,31,30,31,30,31]][is_leap_year(year)]
total =0for index inrange(month -1):
total += days_of_month[index]return total + date
defmain():print(which_day(1980,11,28))print(which_day(1981,12,31))print(which_day(2018,1,1))print(which_day(2016,3,1))if __name__ =='__main__':
main()
#打印杨辉三角defmain():
num =int(input('Number of rows: '))
yh =[[]]* num
for row inrange(len(yh)):
yh[row]=[None]*(row +1)for col inrange(len(yh[row])):if col ==0or col == row:
yh[row][col]=1else:
yh[row][col]= yh[row -1][col]+ yh[row -1][col -1]print(yh[row][col], end='\t')print()if __name__ =='__main__':
main()
#双色球选号from random import randrange, randint, sample
defdisplay(balls):"""
输出列表中的双色球号码
"""for index, ball inenumerate(balls):if index ==len(balls)-1:print('|', end=' ')print('%02d'% ball, end=' ')print()defrandom_select():"""
随机选择一组号码
"""
red_balls =[x for x inrange(1,34)]
selected_balls =[]
selected_balls = sample(red_balls,6)
selected_balls.sort()
selected_balls.append(randint(1,16))return selected_balls
defmain():
n =int(input('机选几注: '))for _ inrange(n):
display(random_select())if __name__ =='__main__':
main()