人工智能实习 -Python练习题-Day5

第五天的题目,问题后面跟着代码。 

1、使用面向对象计算两点距离,可声明点类,初始化两个点,计算公式欧氏距离即可。

import math


class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def distance_to(self, other_point):
        return math.sqrt((self.x - other_point.x) ** 2 + (self.y - other_point.y) ** 2)


# 初始化两个点
point1 = Point(1, 2)
point2 = Point(4, 6)

# 计算并输出两点之间的距离
distance = point1.distance_to(point2)
print(f"Distance between the points: {distance}")

2、游戏开始,初始状态下用户和电脑都有 100 分,赢一局+10 分,输一局-10 分。

当用户为 0 分时,游戏结束,提示游戏结束,比赛输了

当用户为 200 分时,游戏结束,提示游戏结束,赢得比赛、每轮比赛都输出当前的分数

1 代表剪刀 2 代表石头 3 代表布

import random

mark = -100
while mark != 0 or mark != 200:
    ji_num = random.randint(1, 3)
    re_num = int(input('1 代表剪刀 2 代表石头 3 代表布\n'))
    if ji_num == re_num:
        print("平了.分数: ", mark)
    elif ji_num == 1:
        if re_num == 2:
            mark += 10
            print("赢了.分数: ", mark)
        elif re_num == 3:
            mark -= 10
            print("输了.分数: ", mark)
    elif ji_num == 2:
        if re_num == 1:
            mark -= 10
            print("输了.分数: ", mark)
        elif re_num == 3:
            mark += 10
            print("赢了.分数: ", mark)
    elif ji_num == 3:
        if re_num == 1:
            mark += 10
            print("赢了.分数: ", mark)
        elif re_num == 2:
            mark -= 10
            print("输了.分数: ", mark)
    if mark <= 0:
        print("你输了比赛,游戏结束")
        break
    if mark >= 200:
        print("你赢了比赛,游戏结束")
        break

3、

# 读取输入的两个整数 m 和 n,表示需要找到的第 m 个和第 n 个素数
m, n = map(int, input().split())

# 初始化素数计数器和素数列表
i = 2
acc = 0
num = []

# 使用循环从 2 开始检查每个数是否为素数,直到找到第 n 个素数
for i in range(2, 125000):
    # 使用嵌套循环检查 i 是否为素数
    # 如果 i 可以被 j 整除 (除了 1 和 i 本身),则 i 不是素数
    j = 2
    for j in range(2, i):
        if i % j == 0:
            break
    else:
        # 如果没有找到可以整除 i 的 j,则 i 是素数
        num.append(i)  # 将素数添加到 num 列表
        acc += 1  # 递增素数计数器
    if acc > n:  # 如果已找到的素数数量超过 n,则停止搜索
        break

# 重置素数计数器用于输出
acc = 0

# 输出从第 m 个到第 n 个素数
for i in range(m - 1, n):
    acc += 1  # 递增输出计数器
    if i == n - 1:
        # 如果当前素数是最后一个要输出的素数,直接输出并换行
        print(num[i])
        break
    # 否则,输出素数并在同一行内添加空格
    print(num[i], end=' ')
    # 每输出 10 个素数后换行,并输出当前素数
    if acc % 10 == 0:
        print(num[i])

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新三晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值