42.数字金字塔
n=eval(input("输入打印的行数:"))
for i in range(1,n+1):
a=(n-i)*' ' #第i行,数字前的空格数
print(a,end='')
for j in range(1,i+1):
print(i-j+1,end='')
if (i-j+1)==1:
if i!=1:
for k in range(2,i+1):+
print(k,end='')
print()
43.4个三角形
n=eval(input("输入打印的行数:"))
for i in range(1,n+1):
for j in range(1,i+1):
print(j,"",end='')
print()
print()
for i in range(1,n+1):
for j in range(n,i-1,-1):
print(j,"",end='')
print()
print()
for i in range(1,n+1):
for j in range(1,n+1-i):
print(" ",end='')
for p in range(i,0,-1):
print(p,end='')
print(" ",end='')
print()
print()
for i in range(1,n+1):
for j in range(1,n+2-i):
print(j,end='')
print(" ",end='')
for p in range(i,0,-1):
print(" ",end='')
print()
44.数字金字塔
n=eval(input("输入打印的行数:"))
for i in range(1,n+1):
a=(n-i)*' '*3
#第i行,数字前的空格数
print(a,end='')
for j in range(1,i+1):
print(2**(j-1),end=' ')
if (i-j+1)==1:
if i!=1:
for k in range(i-1,0,-1):
print(2**(k-1),end=' ')
print()
45.2-1000之间的素数
g=0
for i in range(2,1001):
for j in range(2,i):
if i%j== 0:
break
else:
print(i,end=' ')
g+=1
if g%8==0:
print()
46.计算math.pi
pi=1
g=1
for i in range(1,10000):
g=((-1)**(i+1))/(2*i-1)
pi=4*g
print(pi)
47.计算e
e=1
f=1
g=0
for i in range(1,1000):
for j in range(1,i+1):
f=f*(1/j) #求1/(f!)
g=g+f #求1/1!+1/2!+...+1/f!
e=e+g
print(e)
48.完全数
a=0
s=eval(input("请输入一个数:"))
for i in range(1,s):
if s%i== 0:
a=a+i
if a==s:
print("该数是完全数")
else:
print("该数不是完全数")
10000以内的完全数
a=0
for j in range(1,100):
for i in range(1,j):
if j%i== 0:
a=a+i
if a==j:
print("10000以内的完全数有:",j)
49.石头,剪刀,布
y=0
j=0
import random
print("0代表石头,1代表剪刀,2代表布")
s=eval(input("请输入一个数:"))
d=random.randint(0,2)
print("计算机出的是:",d)
if s== d:
print("第一局平局")
elif (s== 0 and d== 1 ) or ( s== 1 and d== 2) or (s== 2 and d== 0):
print("第一局用户赢")
y+=y
else:
print("第一局计算机赢")
j+=j
print()
x=eval(input("请输入一个数:"))
d=random.randint(0,2)
print("计算机出的是:",d)
if x== d:
print("第二局平局")
elif (x== 0 and d== 1) or (x== 1 and d== 2) or (x== 2 and d== 0):
print("第二局用户赢")
y+=y
else:
print("第二局计算机赢")
j+=j
print()
c=eval(input("请输入一个数:"))
d=random.randint(0,2)
print("计算机出的是:",d)
if c== d:
print("第三局平局")
elif (c== 0 and d== 1) or (c== 1 and d== 2) or (c== 2 and d== 0):
print("第三局用户赢")
y+=y
else:
print("第三局计算机赢")
j+=j
print()
if y>j:
print("最终用户赢")
else:
print("最终计算机赢")
50.最大数的出现
ls=[3,5,2,5,5,6,5,0,9]
max=0
for i in ls:
if i>max:
max=i
print(max)
elif i==0:
break
51.十进制到二进制
n=int(input('请输入要转换进制的数值:'))
x=2 #转换为二进制,所以这里取x=2
b=[] #存储余数
while True: #一直循环,商为0时利用break退出循环
s=n//x #商
y=n%x #余数
b=b+[y] #每一个余数存储到b中
if s==0:
break #余数为0时结束循环
n=s
b.reverse() #使b中的元素反向排列
print ('该数字转换为二进制后是:',end='')
for i in b:
print (i,end='') #连续输出结果
n=int(input('请输入要转换进制的数值:'))
def BIN(n):
if n<2: #将 2 换成其它数如 8 就可输出 8 进制的结果
return n
else:
return BIN(n//2)*10+n%2 #将二进制结果整个输出
print(BIN(n))
n = int(input("请输入要转换进制的数值:"))
print("转换为二进制为:", bin(n))
52.十进制到十六进制
把十进制数转换为十六进制数
result = ""
num = int(input("请输入一个十进制"))
print(hex(num))
while(not(num == 0)):
ret = num %16
num = num//16
if (ret < 10):
pass
else:
ret = chr(ord('a')+ret -10)
result = str(ret) + result
print (result)
54.显示闰年
g=0
for i in range(2001,2101):
if (i%4== 0 and i%100!= 0) or i%400== 0:
print(i," ",end="")
g=g+1
if g%10==0:
print()