1.编程实现人机版“石头、剪刀、布”游戏
2. 输出如下的数字金字塔
3.编写程序,从键盘上输入若干个整数,计算并输出这些数中所有奇数之和、偶数之和及所有数的平均值,当输入字符'Q’时,程序输出计算结果。
4.实现蒙特卡洛算法求π,并用turtle绘制过程
5.编写程序,输出1*2*3+3*4*5+5*6+7+....+99*100*101的值。
6.输出1000以内的素数(5个数一行)
7.分解质因数。把一个合数用质因数相乘的形式表示出来,叫做分解.质因数。如30=2x3x5
1. 编程实现人机版“石头、剪刀、布”游戏
import random
computer = random.randint(1, 3)
user = int(input("1.拳头 2.剪刀 3.布\n请出拳:"))
if computer == 1:
computer = '拳头'
elif computer == 2:
computer = '剪刀'
else:
computer = '布'
if user == 1:
user = '拳头'
elif user == 2:
user = '剪刀'
else:
user = '布'
print('电脑人出的是:{},用户出的是:{}'.format(computer, user))
if ((user == 1 and computer == 2)
or (user == 2 and computer == 3)
or (user == 3 and computer == 1)):
print('恭喜用户胜出!!!')
elif user == computer:
print('好吧,此局平局!')
else:
print('人机胜出!!!')
2. 输出如下的数字金字塔
for i in range(1, 10):
for j in range(1, 10 - i):
print(' ', end='')
for j in range(1, i + 1):
print(j, end='')
for j in range(i - 1, 0, -1):
print(j, end='')
print()
3. 编写程序,从键盘上输入若干个整数,计算并输出这些数中所有奇数之和、偶数之和及所有数的平均值,当输入字符'Q’时,程序输出计算结果。
ji = 0
ou = 0
avg = 0
count = 0
while True:
current = input("请输入一个数:")
if current == 'Q':
print("所有奇数之和:{},偶数之和:{},所有数的平均数是:{:.2f}".format(ji, ou, avg))
break
else:
count += 1
num = int(current)
if num % 2 == 0:
ou += num
else:
ji += num
avg = (ji + ou) / count
4. 实现蒙特卡洛算法求π,并用turtle绘制过程
import turtle as t
import random
# 画圆
t.penup()
t.goto(0, -200)
t.pendown()
t.circle(200)
# 画正方形
t.penup()
t.goto(-200, 200)
t.pendown()
for i in range(4):
t.forward(400)
t.right(90)
outer = 0
inner = 0
t.speed(0)
for i in range(1000):
x = random.randint(-200, 200)
y = random.randint(-200, 200)
t.penup()
t.goto(x, y)
t.pendown()
t.dot(5, 'blue')
if x ** 2 + y ** 2 <= 40000:
inner += 1
else:
outer += 1
pi = 4 * (inner / 1000)
print("总共画了1000个点,其中{}个点落在圆内,{}个点落在圆外".format(inner, outer))
print("根据蒙特卡洛算,π≈{}".format(pi))
5. 编写程序,输出1*2*3+3*4*5+5*6+7+....+99*100*101的值。
total = 0
for i in range(1, 100, 2):
tmp = i * (i + 1) * (i + 2)
total += tmp
print("1*2*3+3*4*5+5*6*7+…+99*100*101={}".format(total))
6. 输出1000以内的素数(5个数一行)
count = 0
print('1000以内的素数有:')
for i in range(2, 1000):
Flag = True
for j in range(2, i):
if i % j == 0:
Flag = False
break
if Flag:
print(i, end='\t')
count += 1
if count % 5 == 0:
print()
7. 分解质因数。把一个合数用质因数相乘的形式表示出来,叫做分解.质因数。如30=2x3x5
# num = int(input('请输入一个合数:'))
# tmp = num
# count = 0
# print("{}=".format(num), end='')
# i = 2
# while i < num:
# if tmp % i == 0:
# if count > 0:
# print('x', end='')
# print(i, end='')
# tmp = tmp / i
# i = 1
# count += i
# i += 1
num = int(input('请输入一个合数:'))
tmp = num
a = ''
print("{}=".format(num), end='')
for i in range(2, num):
if tmp % i == 0:
print(i, end='')
a = a + str(i)
tmp = tmp / i
print('a = a + "x"', end='')