Demo01
import random
ret = random.randint(0,101)
while 1 :
number = int(input("请输入一个0-100之间的数:"))
if ret == number :
print("你猜的数字正确!")
break
elif ret > number :
print("你猜的数字太小!")
elif ret < number :
print("你猜的数字太大!")
运行结果:
Demo02
n1,n2 = eval(input("请输入两个整数:"))
if n1 > n2 :
best = n1
else :
best = n2
for k in range(1,best+1) :
if n1 % k == 0 and n2 % k == 0 :
gcd = k
if k == best :
print("最大公约数为:%s"%gcd)
运行结果:
Demo03
g = 0
w = 0
sum = 0
c = 0
for i in range(1,50) :
c += 1
number2 = int(input("请输入整数:"))
sum += number2
if number2 == 0 :
break
if number2 > 0 :
g += 1
elif number2 < 0 :
w += 1
print("正数的个数为%s"%g)
print("负数的个数为%s"%w)
print("总和为:%s"%sum)
print("平均数为:%s"%(sum / c))
运行结果:
Demo04
for i in range(2001 , 2101) :
if (i % 4 == 0 and i % 100 != 0) or i % 400 == 0 :
print(" ",i,end="") #不换行输出
if(i % 40 == 0):
print( )
运行结果:
Demo05
number = int(input("请输入一个十进制整数:"))
s = ''
while number != 0 :
s += str(number % 2)
number = number // 2
print(s[::-1])
运行结果:
Demo06
number = int(input("请输入一个整数:"))
i = 2
while 1 :
if number % i == 0 :
print(i,end=",")
number = number / i
else :
i += 1
if number == 1:
break
运行结果:
Demo07
s = 0
i = int(input("i = "))
for i in range(1,i + 1) :
s = s + 1 / (2 * i -1)
s = - s
print("π = ",abs(4 * s))
运行结果:
Demo08
e = 1
item = 1
i = int(input("i = "))
for i in range(1,i + 1) :
e = e + item
item = item / i
print("e = ",e)
运行结果:
Demo09
for x in range(2,10000) :
s = 0
for i in range(1,x) :
if x % i == 0 :
s += i
if s == x :
print(x)
运行结果:
Demo10
max1 = 0
cout = 0
while 1 :
number = int(input("请输入整数:"))
if number == 0 :
break
if number > max1 :
cout = 0
if number > max1 :
max1 = number
if number == max1 :
cout += 1
print("最大值为:",max1)
print("最大值出现的次数为:",cout)
运行结果:
Demo11
import random
number1 = 0
number2 = 0
while number1 < 2 and number2 < 2 :
n = int(input("请你输入0,1或2:"))
r = random.randint(0,2)
print("程序给的随机数为:%s"%r)
if n == r:
print("平局")
elif (n == 0 and r == 1) or (n == 1 and r == 2) or (n == 2 and r == 0):
number2 += 1
print("你输了")
elif (n == 0 and r == 2) or ( n == 1 and r == 0) or (n == 2 and r == 1) :
number1 += 1
print("你赢了")
if number == 2 :
print("你赢了")
运行结果:
Demo12
模式A:
for i in range(1,7) :
for j in range(1,7) :
if j <= i :
print(j,end=' ');
print( )
运行结果:
模式B:
for i in range(6,0,-1) :
for j in range(1,7) :
if j <= i :
print(j,end=' ');
print( )
运行结果:
模式C:
for i in range(1,7) :
for j in range(6,0,-1) :
if j <= i :
print(j,end=" ");
else :
print(" ",end=" ")
print( )
运行结果:
模式D:
for i in range(6,0,-1) :
print(" "*(6-i),end='')
for j in range(1,7) :
if j <= i :
print(j,end='');
print( )
运行结果:
Demo13
layer = int(input("请输入你要打印的行数:"))
for i in range(0,layer) :
for j in range(0,layer-i) :
print(" ",end="")
for j in range(-i,i+1) :
print(abs(j)+1,end="")
print()
运行结果:
Demo14
layer = int(input("请输入你要打印的行数:"))
for i in range(0,layer) :
for k in range(0,layer-i) :
print(" ",end="\t")
for j in range(1,i+1) :
print(2**(j-1),end="\t")
for j in range(i+1,0,-1) :
print(2**(j-1),end="\t")
print()
运行结果:
Demo15
cout = 0
for number in range(2,1001) :
for i in range(2,number) :
if number % i == 0 :
break
else :
print(number,end="\t")
cout += 1
if cout % 8 == 0 :
print( )
运行结果:
Demo16
number = int(input("请输入一个十进制整数:"))
hexstr = ""
while number != 0 :
a = number % 16
if a < 10 :
hexstr += str(a)
else :
hexstr += chr(55+a)
number //= 16
print(hexstr)
运行结果:
Demo17
import random
cout = 0
total = 1000000
for i in range(1,total+1) :
x = random.random() * 2 - 1
y = random.random() * 2 - 1
d = (x ** 2 + y ** 2) ** 0.5
if d <= 1 :
cout += 1
pi = 4 * cout / total
print("pi=",pi)
运行结果:
Demo18
import random
cout = 0
total = 1000000
for i in range(1,total+1) :
x = random.random() * 2 - 1
y = random.random() * 2 - 1
k = y / (x-1)
if x < 0 or (x > 0 and y > 0 and k<-1 ) :
cout += 1
p = cout / total
print(p)
运行结果: