栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python练习7

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python练习7

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='')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/580987.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号