'''求质数(素数)'''
def zishu(num:int):
lstzs=[]
for i in range(2,num):
if i==2:
lstzs.append(i)
else:
for j in range(2,i):
if i%j==0:
break
else:
lstzs.append(i)
return lstzs
# print(zishu(10000))
=====================================================================================
#54321 读取每个位上的数字
num='54321'
numv=int(num)
numl=len(num)
unit=['个','十','百','千','万']
# for i in range(numl):
# a=numv%10
# print('数字{}的{}位上数字是{}'.format(num,unit[i],a))
# numv=numv//10
print('==================反向读取=============================')
for i in range(numl,0,-1):
a=numv//(10**(i-1))
print('数字{}的{}位上数字是{}'.format(num,unit[i-1],a))
numv=numv%(10**(i-1))
======================================================================================
# '''打印一个边长为你的正方形'''
# n=5 # n需要大于1
# for i in range(n):
# if i ==0 or i==(n-1):
# print('{}'.format('*'*n))
# else:
# print('{}{}{}'.format('*',' '*(n-2),'*'))
# '''打印一个边长为n 的正方形'''
# n=5
# sepTop='*'
# sepMid='*'
# for i in range(0,n-1):
# sepTop+='\t*' # -> *\t*\t*\t*\t*
# sepMid+='\t' # -> *\t \t \t \t
# else:
# sepMid+='*' # -> *\t \t \t \t*
# print(sepTop)
# for i in range(0,n-2):
# print(sepMid)
# else:
# print(sepTop)
# '''打印一个边长为n 的正方形'''
# n=5
# e=-n//2
# for i in range(e,n+e):
# if i==e or i==n+e-1:
# print('*'*n)
# else:
# print('*'+' '*(n-1)+'*')
======================================================================================
# '''打印菱形'''
# n=21
# if n%2==1:
# for i in range(1,n+1,2):
# print('{0: ^{num}}'.format('*'*i,num=n))
#
# for i in range(n-2, 0, -2):
# print('{0: ^{num}}'.format('*' * i,num=n))
# else:
# print('n 是奇数,菱形才会最美,请输入奇数')
==========================================================================================
# '''斐波那契数列'''
# n=100
# lst=[1,1]
# for i in range(1,n):
# a=lst[i-1]+lst[i]
# if a<100:
# lst.append(a)
# else:
# break
# print('{}以内的斐波那契数列是{}'.format(n,lst))
=========================================================================================
# '''打印斐波那契数列第101项'''
# n=100
# lst=[1,1]
# for i in range(2,n+1):
# a=lst[i-2]+lst[i-1]
# lst.append(a)
# print(i,a)
#
# print('斐波那契数列的第{}项是{}'.format(i+1,lst[i]))
=========================================================================================
'''10万以内的质数'''
# n=100000
# lst=[]
# for i in range(2,n):
# if i==2:
# lst.append(i)
# else:
# for j in range(2,i):
# if i%j==0:
# break
# else:
# lst.append(i)
# print(lst)# print(len(lst))
=========================================================================================
# '''九九乘法表'''
# for i in range(1,10):
# for j in range(i,10):
# # print('{sti}x{stj}={sts} '.format(sti=i,stj=j,sts=i*j),end='')
# # print('{0: ^{num}}'.format('*' * i, num=n))
# print(str(i)+'x'+str(j)+'='+str(i*j)+' ',end='')
# print()
=========================================================================================
# '''求100内所有奇数的和'''
# n=100
# sun=int()
# for i in range(100):
# if i%2==1:
# sun=sun+i
# else:
# continue
# print(sun)# n=100
#sun=int()
#for i in range(1,100,2):
# sun+=i#print(sun)
========================================================================================
# '''判断学生乘积 (>90 , A),(80-90,B),(70-79,C),(60-69,D),(<60,E)'''
# fraction=86
# if fraction>90:
# print('获得成绩A')
# elif fraction>80:
# print('获得成绩B')
# elif fraction > 70:
# print('获得成绩C')
# elif fraction>60:
# print('获得成绩D')
# else:
# print('获得成绩E')
==========================================================================================
# '''求 1 到 5 的乘阶之和'''
# sum=int()
# a=1
# for i in range(1,6):
# a=a*i
# sum+=a
# print(sum)
=========================================================================================
# '''给一个数,判断是否为质数'''
# n=949
# for i in range(2,59):
# if n%i==0:
# print('{}不是质数,能被{}整除'.format(n,i))
# break
# else:# print('{}是质数'.format(n))
==========================================================================================
# #作业1 给一个半径,求圆的面积和周长,圆周率3.14
# r=int(5)
# print('area='+str(3.14*r*r))
# print('circumference='+str(2*3.14*r))
#
# #作业2 输入两个数,比较大小后,从小到大升序打印
# a1=3
# a2=10
# # if a1>a2:
# # a1,a2=a2,a1
# # print(a1,a2)
# # 真值 if 表达式 else 假值
# print(a2,a1) if a1>a2 else print(a1,a2)
#######################################################################################
# # #作业3 输入若干整数,打印出最大值
# n=int(input('请问你需要比较多少个整数:'))
# for i in range(n):
# a=eval(input('number{}:'.format(i+1)))
# if i==0: #考虑到第一次输入的是负数时
# m = a
# m= m if m>=a else a
# print('输入的数字中最大是:',m)
# m=int(input('number>>>'))
# while True:
# a=int(input('number>>>'))
# m=m if m>=a else a
# print('max:',m)
###########################################################################################
#求一个素数是否为素数
# num=int(1118)
# for i in range(2,int((num**0.5)+1)):
# if num%i==0:
# print('{}不是素数'.format(num))
# break
# else:
# print('{}是素数'.format(num))
###################################################################################################
#求N个数的平均数
# sum=0
# n=5
# for i in range(n):
# sum+=int(input('number>>>'))
# else:
# print('average=',sum/n)
# sun=0
# num=1
# while True:
# a=input('number>>>')
# if not a:
# break
# sun+=int(a)
# num+=1
# print('{}/{}={}'.format(str(sun),str(num),str(sun/num)))
# avgg=0
# count=0
# while True:
# a=int(input('>>>'))
# count+=1
# avgg=(a-avgg)/count+avgg
# print(avgg)
#
############################################################################################
#对顶三角形
# n=4
# if n%2==0 and n >2:
# n+=1
# for i in range(n,0,-2):
# print('{0: ^{count}}'.format('*'*i,count=n))
# for i in range(3,n+2,2):
# print('{0: ^{count}}'.format('*'*i,count=n))
#
# for i in range(n,0,-2):
# b=int((n-i)/2)
# print(' '*b+'*'*i+' '*b)
# for i in range(3,n+2,2):
# b=int((n-i)/2)# print(' '*b+'*'*i+' '*b)
#################################################################################
#九九乘法表
for i in range(1,9):
s=''
for j in range(i,9):
s+='{}*{}={:<{cwidth}}'.format(i,j,i*j,cwidth=3 if j<4 else 4)
print('{:>80}'.format(s))# for i in range(1,10):
# s = ''
# for j in range(1, i+1):
# # s+=str('{j1}x{i1}={s1}\t'.format(j1=j,i1=i,s1=i*j))
# s+='{}*{}={: <2}\t'.format(j,i,i*j)
# print(s)
##程序最好是凑成一整行打印,而不是一个一个数据打印
# for i in range(9,0,-1):
# s = ''
# for j in range(1,i+1):
# s += str('{}x{}={: <2}\t'.format(j,i,i*j))
# print(s)#for i in range(1,10):
# s=''
# for j in range(1,10):
# if j<i:
# s += '{:<1} {:<1} {:<2}\t'.format('', '', '')
# else:
# s+='{:<1}*{:<1}={:<2}\t'.format(i,j,i*j)
# print(s)# for i in range(1,10):
# s=''
# for j in range(i,10):
# s+='{}*{}={:<2} '.format(i,j,i*j)
# print('{0:>80}\t'.format(s))
# for i in range(1,10):
# s=''
# for j in range(i,10):
# s+='{}*{}={:<2} '.format(i,j,i*j)
# print('{0:>80}\t'.format(s))
#打印菱形 对称的问题,应该使用二分法进行处理
# line=8
# for i in range(-line//2,line//2+1):
# if i<0:
# print(' '*(-i)+'*'*(line+2*i))
# else:
# print(' '*(i)+'*'*(line-2*i))
# line=8
# startid=-line//2
# endid=line//2+1
# for i in range(startid,endid):
# print(' '*abs(i)+'*'*(line-2*abs(i)))
##对顶三角形
# n=11
# m=n//2
# for i in range(-m,n-m):
# # space= -i if i<0 else i
# print(' '*(m-abs(i))+'*'*(2*abs(i)+1))
## 打印闪电
# line=7
# startid=-line//2
# endid=line//2+1
# for i in range(startid,endid):
# if i<0:
# # print(' '*abs(i)+'*'*(endid-abs(i)))
# print('{: >{id}}'.format('*'*(endid-abs(i)),id=endid))
# if i==0:
# print('*'*line)
# if i>0:
# # print(' '*(endid-1)+'*'*(endid-abs(i)))# print('{}{:<4}'.format(' '*(endid-1),'*' * (endid - abs(i))))
# '''
# 100以内的斐波那契数列
# '''
# a=0
# b=1
# while b<100:
# print(b)
# a,b= b,a+b
#
# '''
# 第101项的斐波那契数列
# '''
# n=101
# a=1
# b=1
# for count in range(n-2):
# a,b=b,a+b
# else:
# print(b)
# '''求10万以内所有素数'''
# import datetime
# n=100
# l1=[2]
# count=1
# starttime=datetime.datetime.now()
# for i in range(3,n,2):
# for j in range(3,(int(i**0.5)+1),2):
# if i%j==0:
# break
# else:
# l1.append(i) #加入列表总共花了0.3秒
# count+=1
# # print('总计算次数:{},素数的个数总量:{}'.format(count,len(l1)))
# endtime=datetime.datetime.now()
# runtime=(endtime-starttime).total_seconds()
# print('总计算次数:{},素数的个数总量:{}'.format(count,len(l1)))
# print('runtime:',runtime)
# print(l1)
# print('#####################################################################')
# n=100
# l1=[2,3]
# count=2
# starttime=datetime.datetime.now()
# for num in range(4,n):
# if num%6!=1 and num%6!=5:
# continue
# else:
# snum=int(num**0.5+1)
# for i in range(5,snum):
# if not num%i:
# break
# else:
# l1.append(num)
# count+=1
# endtime=datetime.datetime.now()
# runtime=(endtime-starttime).total_seconds()
# print('总计算次数:{},素数的个数总量:{}'.format(count,len(l1)))
# print('runtime:',runtime)
# print(l1)
# print('#####################################################################')
'''
# 猴子第一天摘下若干个桃子,当天即吃了一半,有多吃一个;第二天早上又将剩下的桃子吃掉一半,又多吃一个;以后每天早上都吃了前一天身下的一半零一个,到第10天早上想吃时,反向只剩下一个桃子,求第一天共摘了多少个桃子
# a=a/2+1
# 假设总 n
# 吃的 a=n/2-1
# 省的 b
# b=n-a
# '''
# b=1
# print('第10天吃前拥有桃子数:',1)
# for i in range(9,0,-1):
# b=2*(b+1)
# print('第{}天吃前拥有桃子数:{}'.format(i,b))
# print(b)
#
# n=1534
# for j in range(1,11):
# print('第{}天吃前拥有桃子数:{}'.format(j,n))
# n=int(n-n/2-1)
# # print(j,n)
# if n==1:
# print('第10天吃前拥有桃子数:{}'.format(n))# break
'''计算杨辉三角前6行
从1开始,第n行有n项,n是正整数
第n行的数字之和为2**(n-1)
'''
联系客服