RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-517691

Nymos's questions

Martin Hope
Nymos
Asked: 2024-01-28 04:47:14 +0000 UTC

Python 服务器不想连接超过 1 个客户端

  • 5

所有程序员朋友早上好。我用Python给同学写了一个程序,用货币代替金钱。然而,连接到服务器时出现问题,因为只有一个客户端可以连接,尽管程序将 .net 的程序设置为“2” serversocket.listen(2)。一位朋友建议我尝试这个库threading,所以我现在尝试使用这个模块。

我的服务器如何工作: 当客户端连接时,服务器会为客户端生成一个唯一的 ID,并将初始得分值存储在字典中。然后,服务器等待来自客户端的指示金额和收件人 ID 的消息。服务器收到消息后,检查收件人是否存在于客户端的字典中。如果是,则服务器更新发送者和接收者的帐户,并将有关新帐户的信息发送给客户端。如果收件人不存在,服务器会发送错误消息。

客户端代码:

该代码是程序的客户端部分,通过套接字连接到服务器,并通过 TCP 连接与其进行交互。客户端在连接时从服务器接收一个唯一的 ID,之后您可以向服务器发送请求,指示点数和接收者 ID。为了响应请求,服务器处理数据,更改发送者和接收者的点数,然后发送包含发送者和接收者的更新余额的响应。

当您输入 时quit,客户端会将此消息发送到服务器并关闭连接。

目标:确保只有两个客户端可以同时连接到服务器,至少目前是这样。此外,还应对程序进行更改以优化其性能和稳定性,以便服务器不会频繁崩溃或关闭。但我的首要目标是理清客户端连接!预先感谢愿意帮助我的人!

服务器代码:

import socket
import random

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

host = "localhost" 
port = 12345 
server_socket.bind((host, port))

server_socket.listen(2)

print("Сервер запущен на порту", port)

clients = {}

def handle_client(client_socket, client_address):
    id_value = str(random.randint(100000, 999999))
    clients[id_value] = 100  

    client_socket.send(id_value.encode())

    while True:
        data = client_socket.recv(1024).decode()
        print("Получено от клиента:", data)

        if data == "quit":
            break


        amount, recipient_id = data.split(",")
        amount = int(amount)

   
        if recipient_id in clients:
    
            sender_score = clients[id_value]
            sender_score -= amount
            clients[id_value] = sender_score

            
            recipient_score = clients[recipient_id]
            recipient_score += amount
            clients[recipient_id] = recipient_score

           
            response = "Ваши очки: {}\nСчет получателя: {}".format(sender_score, recipient_score)
            client_socket.send(response.encode())
        else:
            error_msg = "Неверный идентификатор получателя"
            client_socket.send(error_msg.encode())

   
    del clients[id_value]

  
    client_socket.close()

while True:
   
    client_socket, client_address = server_socket.accept()
    print("Установлено соединение с клиентом", client_address)

   
    handle_client(client_socket, client_address)

客户端代码:

import socket

client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Подключение к серверу
host = "localhost" 
port = 12345 
client_socket.connect((host, port))

client_id = client_socket.recv(1024).decode()

print("Ваш id:", client_id)

while True:
    amount = input("Введите количество очков для отправки ('quit' для выхода): ")
    if amount == "quit":
        client_socket.send(amount.encode())
        break

    recipient_id = input("Введите id получателя: ")

    data = "{},{}".format(amount, recipient_id)
    client_socket.send(data.encode())

    response = client_socket.recv(1024).decode()
    print(response)

client_socket.close()
python
  • 2 个回答
  • 90 Views
Martin Hope
Nymos
Asked: 2023-10-25 00:56:00 +0000 UTC

帮助优化Python问题“美丽的围巾”的程序

  • 4

大家好,我正在用Python解决一个问题。一切似乎都运行良好,但该网站因超出最长运行时间而给出 0 分。现在,当输入数据时,它显示48,而不是 。11任何人都可以帮助我,预先感谢!爱丽丝决定用一条漂亮的围巾来祝贺她的朋友新学年的开始。寒冷的秋天即将到来,她决定亲手为他织一条围巾。

在她的朋友不知情的情况下,爱丽丝得知他最喜欢 k 种不同的颜色。Alice决定织一条尺寸为n×m的围巾,围巾上不同颜色的条纹交替出现。她的朋友从来不走捷径,所以她觉得横条纹或竖条纹的围巾对他来说显得太“原始”。爱丽丝决定条纹绝对应该是对角的!

编织完一条围巾后,爱丽丝想起她的朋友认为其中一种颜色很特别!这就是颜色c,在他看来,这种颜色可以为学生在计算机科学奥林匹克竞赛中带来好运。爱丽丝对有多少围巾碎片具有这种颜色产生了极大的兴趣。围巾原来很大,爱丽丝织的时候很累,所以她自己已经无法回答这个问题了,向你求助……

更正式地说,一条围巾可以表示为一张大小为 n × m 的表格,其中每个单元格的颜色为 k 种颜色中的一种。颜色从 1 到 k 编号。

表格第一行的颜色为 1, 2, ..., k, 1, 2, ..., k 等。下一行是通过移至左侧一个单元格从前一行获得的。因此,桌子由对角条纹组成。

对于n = 4,m = 8表格k = 3将如下所示: 在此输入图像描述 使用给定的数字 n、m、k 和 c,确定总共有多少个单元格被着色为 c。

输入 输入的第一行包含一个自然数 n - 围巾的宽度。

输入的第二行包含一个自然数m——围巾的长度。

输入的第三行包含自然数 k — Alice 的朋友最喜欢的颜色的数量。

数量n不超过。m_k109

输入数据的第四行包含自然数c——特殊颜色的数量(1 ≤ c ≤ k)。

输出 程序应输出一个整数 - 颜色为 c 的围巾单元的数量。

注意: 请注意,本题的答案可能超出 32 位整型变量的可能值,因此必须使用 64 位整型数据类型(Pascal 中为 int64,C++ 中为 long long,Java 和 C# 中为 long)。

评分系统

当 n 小于 10 时正确工作的解决方案将获得 16 分。

当数字 n 或 m 之一能被 k 整除时,正确工作的解将值 16 分。

当 n 和 m 小于 800 时正确工作的解决方案将值 40 分。

当 n 和 m 小于 105 时正确工作的解决方案将获得 60 分。

评论

该图片对应于条件中的示例。围巾尺寸为 4 × 8,由三种颜色的格子组成。11 个单元格涂成颜色 1。

输入数据:

4
8
3
1

输出:

11

这是我的代码:

n = int(input())
m = int(input())
k = int(input())
c = int(input())

color_counts = [0] * k

# Левая часть диагоналей
left_diagonals = n - k
left_diagonal_length = k - 1
color_counts[c-1] += left_diagonals * left_diagonal_length

# Средняя часть диагоналей
middle_diagonals = n // k
middle_diagonal_length = k
color_counts[c-1] += middle_diagonals * middle_diagonal_length

# Правая часть диагоналей
right_diagonals = n - k
right_diagonal_length = n % k
color_counts[c-1] += right_diagonals * right_diagonal_length

result = color_counts[c-1] * m

print(result)

python
  • 1 个回答
  • 199 Views
Martin Hope
Nymos
Asked: 2023-09-12 00:25:20 +0000 UTC

问题的解决方案没有通过测试

  • 6

再次大家晚上好。我正在用Python解决一个问题,遇到了一个问题。我的解决方案没有通过测试。我自己不太明白我的要求是什么,但我认为我们需要强调这个建议Известно, что в языке реальных членов экипажа вероятность появления каждого символа зависит от предыдущего。就我个人而言,有人建议我制作所有符号对的频率字典。现在,当您输入字符时3 aba caba aba daba baa cdaa,它会生成一个数字1,但应该输出一个数字3

这是任务:

亚历山大在太空港的海关工作。有一天,一艘宇宙飞船在完成火星探险后抵达那里。港口的扫描仪已经拉响警报;船上确实有一个火星人,他伪装成船员。不幸的是,扫描仪无法显示谁到底是火星人。

然后亚历山大决定为所有船员申请一个通信协议。 众所周知,在真实船员的语言中, 每个角色出现的概率取决于前一个角色。然而,火星人不知道这一点 ,并试图模仿真正船员的语言,选择 字母而不顾以前的字母。

帮助亚历山大确定哪些船员实际上是火星人。保证这可以用现有的通信协议来完成。

输入格式

第一行包含一个自然数N (3 ≤ N ≤ 10)——船上船员的数量(包括伪装的火星人)。

以下N几行包含相关机组人员的声明文本。每行仅由小拉丁字母和空格组成。所有线的长度总和不超过104。输出格式 打印一个自然数——伪装火星人的陈述文本对应的行号。

输出格式 打印一个自然数——伪装火星人的陈述文本对应的行号。

实施例1

输入数据:

3
aba caba 
aba daba
baa cdaa

输出:

3

这是我使用频率字典执行任务的代码avg_pair_counts:

import numpy as np

N = int(input())

# Чтение высказываний экипажа и создание словарей пар символов
statements = []
pair_dicts = []

for _ in range(N):
    statement = input()
    statements.append(statement)

    pair_dict = {}
    for i in range(len(statement) - 1):
        pair = statement[i:i + 2]
        if pair in pair_dict:
            pair_dict[pair] += 1
        else:
            pair_dict[pair] = 1

    pair_dicts.append(pair_dict)

# Создание словаря всех пар символов
avg_pair_counts = {}
for pair_dict in pair_dicts:
    for pair, count in pair_dict.items():
        if pair in avg_pair_counts:
            avg_pair_counts[pair] += count
        else:
            avg_pair_counts[pair] = count

# Вычисление дисперсии для каждого члена экипажа
min_variance = np.inf
min_index = -1

for i, pair_dict in enumerate(pair_dicts):
    variance = 0
    for pair, count in pair_dict.items():
        diff = count - (avg_pair_counts.get(pair, 0) / N)
        variance += diff ** 2

    if variance < min_variance:
        min_variance = variance
        min_index = i

print(min_index + 1)
python
  • 1 个回答
  • 138 Views
Martin Hope
Nymos
Asked: 2023-09-11 22:43:35 +0000 UTC

帮助解决 Python 中的问题

  • 5

我正在用 Python 解决一个问题。当你输入 时3, aba caba, aba daba, baa cdaa,它会报错。在此输入图像描述

我找不到我的错误的原因。如果您有帮助,我将不胜感激!

这是任务:

亚历山大在太空港的海关工作。有一天,一艘宇宙飞船在完成火星探险后抵达那里。港口的扫描仪已经拉响警报;船上确实有一个火星人,他伪装成船员。不幸的是,扫描仪无法显示谁到底是火星人。

然后亚历山大决定为所有船员申请一个通信协议。众所周知,在真实船员的语言中,每个角色出现的概率取决于前一个角色。然而,火星人不知道这一点,并试图模仿真正船员的语言,选择字母而不顾以前的字母。

帮助亚历山大确定哪些船员实际上是火星人。保证这可以用现有的通信协议来完成。

输入格式

第一行包含一个自然数N (3 ≤ N ≤ 10)——船上船员的数量(包括伪装的火星人)。

以下N几行包含相关机组人员的声明文本。每行仅由小拉丁字母和空格组成。所有线的长度总和不超过104。输出格式 打印一个自然数——伪装火星人的陈述文本对应的行号。

实施例1

输入数据:

3
aba caba 
aba daba
baa cdaa

输出:

3

这是我的代码:

def find_martian_crew_member():
    N = int(input())
    crew_statements = []
    
    # Чтение высказываний экипажа
    for _ in range(N):
        statement = input()
        crew_statements.append(statement)
    
    # Создание списка вероятностей для символов
    char_probabilities = [0] * 26
    
    # Подсчет вероятностей каждого символа
    for statement in crew_statements:
        for char in statement:
            char_probabilities[ord(char) - ord('a')] += 1
    
    # Создание списка разниц вероятностей
    differences = []
    for statement in crew_statements:
        statement_difference = 0
        for char in statement:
            statement_difference += char_probabilities[ord(char) - ord('a')]
        differences.append(statement_difference)
    
    # Нахождение индекса высказывания с наименьшей суммой разниц
    min_difference_index = differences.index(min(differences))
    
    return min_difference_index + 1


# Вызов функции и вывод результата
print(find_martian_crew_member())
python
  • 1 个回答
  • 26 Views
Martin Hope
Nymos
Asked: 2023-09-09 23:13:20 +0000 UTC

Python 任务:“绘制立方体”

  • 7

问题是当输入数字11 4和1 1 2 1 2 2 1 4 4 2 4

结果显示:22,但是应该是21!

任务

胶带上排列着一排立方体n。每个立方体必须涂上特定的颜色。所有颜色的编号从1到k。绘画是由机器人完成的,它可以从一个立方体移动到另一个立方体,并将选定的立方体涂上特定的颜色。从结构上讲,机器人的设计使得它可以首先按颜色编号 绘制立方体1,然后按颜色编号,2依此类推。选择数字较大的颜色后,您将无法返回数字较小的颜色。

除此之外,机器人还花时间在立方体之间移动。我们假设在两个相邻的立方体之间移动正好需要одну секунду。需要为机器人创建一系列动作,其中在立方体之间移动所花费的时间将尽可能少。

在此输入图像描述

让我们看一下图中的示例。有一些11立方体需要用 3 种颜色涂上数字1、2和4。

图中机器人的运动如下:它将开始为立方体1上的数字着色,然后为 和立方体着色。这需要他。之后,机器人会将颜色更改为数字并去绘制立方体,然后转身去绘制。这需要他。接下来,机器人会将颜色更改为,因为 中没有需要绘制的立方体,并且将在和之后去绘制立方体。这需要他。结果,机器人将花费。12476 секунд26531011 секунд4311984 секунды21 секунду

请注意,根据问题的情况,机器人只能在选择颜色 2 之后选择颜色 4。机器人还有其他可能的移动路线,但需要更长的时间。

编写一个程序,找出机器人在立方体之间移动的最小可能总时间,直到它们全部被涂上颜色。最初,机器人位于立方体编号1。

输入格式。

第一行的输入是两个自然数n,以及k- 立方体的数量和颜色的数量,1≤n,k≤100000第二行的输入是n自然数1,2,…,c1,c2,…,cn,其中-该立方体ci所需的颜色, 。i1≤ci≤k

输出格式

打印一个数字——在立方体之间移动的最短可能时间。

这是我的代码:

def min_robot_movement(n, k, colors):
    positions = [[] for _ in range(k)]
    current_position = 1
    total_time = 0

    for i in range(len(colors)):
        positions[colors[i] - 1].append(i + 1)

    for color_positions in positions:
        color_positions.sort()
        for position in color_positions:
            total_time += abs(current_position - position)
            current_position = position

    return total_time

# Пример использования
n, k = map(int, input().split())
colors = list(map(int, input().split()))

result = min_robot_movement(n, k, colors)
print("Минимальное время перемещения робота:", result)
python
  • 2 个回答
  • 176 Views
Martin Hope
Nymos
Asked: 2023-09-09 22:01:13 +0000 UTC

帮我解决一个Python难题!

  • 5

大家下午好。我正在用 Python 解决一个问题,但我不知道错误是什么。这是任务本身:

问题1.5。处理请求[实施;数据结构; 两个指针;二分搜索] Alice 正在设计一个计算系统,旨在处理大量相似的查询。设计的系统将包含一定数量的相同处理器。在任何给定时间,每个处理器都可以空闲或忙于处理一个请求。所有请求的处理时间相同,均为 s 毫秒。系统必须实时运行,也就是说,每个传入的请求必须立即转移到任何空闲处理器进行处理。

Alice 想要了解一个计算系统应该包含多少个处理器。为此,她收集了过去类似系统性能的统计数据。每个数据集都包含 n数字t1, t2,…,tn,其中ti是收到带有数字的请求的时刻i。集合中的数字可以重复,但是它们按非递减顺序排序。如果处理器在 时间 开始处理请求ti,那么在 时间t i +s它将能够开始处理新请求。

该集合可能包含相当大量的数据,因此您需要编写一个程序来确定计算系统中必须存在的最小处理器数量,以便所有请求到达时都得到处理。

输入数据格式 第一行输入包含两个自然数n和s- 请求数和一个请求的处理时间, 1≤n≤200000, 1≤s≤10⁹。第二行包含非负整数 t1,t2,…,tn,指定接收请求的时间0 ≤ t1 ≤ t2 ≤ ⋯≤ tn ≤ 10⁹。

输出格式 打印一个数字 - 在收到请求时允许处理所有请求的处理器的最小数量。

测试方法 该程序使用 30 次测试进行测试。通过每项测试得 1 分。验证期间不使用任务条件的测试。下表显示了可能的测试用例。 在此输入图像描述

示例输入 1:9 30 90 90 90 120 120 120 120 200 200

样本输出 1:4


示例输入 2:10 30 0 25 110 125 125 130 140 140 140 155

样本输出 2:6

示例说明 第一个示例对应于第一个测试用例。在时间 120,四个请求同时到达,其处理将需要四个处理器。

第二个示例中的查询执行计划可以表示在下表中。 在此输入图像描述 五个处理器将不再足以及时处理所有请求。

这是我的代码:

def min_processors(n, s, t):
    i_s = 0
    i_f = 1
    cnt = 1

    while i_s < n - 1:
        if t[i_f] + s <= t[i_s]:
            cnt -= 1
            i_f += 1
        else:
            cnt += 1
            i_s += 1

    return cnt

n, s = map(int, input().split())
t = list(map(int, input().split()))

result = min_processors(n, s, t)
print(result)

python
  • 2 个回答
  • 109 Views
Martin Hope
Nymos
Asked: 2023-08-28 18:33:10 +0000 UTC

所有素数之和小于给定数

  • 5

在解决问题的过程中,我遇到了一个问题。以下是任务详细信息:

编写一个函数,求出所有小于给定数字 n 的素数之和。素数是只能被它本身和 1 整除的数。

这是我的代码:

def sum_of_primes(n):
    primes = []
    for num in range(2, n):
        if is_prime(num):
            primes.append(num)
    return sum(primes)

def is_prime(num):
    for i in range(2, int(num ** 0.5)):
        if num % i == 0:
            return False
    return True

在此代码中,该函数应查找所有小于nsum_of_primes()的素数之和。它使用辅助函数来检查数字是否为素数。is_prime()

如果您向我解释我的错误在哪里,我将非常感激。

python
  • 1 个回答
  • 46 Views
Martin Hope
Nymos
Asked: 2023-08-27 22:26:00 +0000 UTC

如何在Ren'Py中检查玩家反应时间?

  • 3
比赛还有4 天就结束了。回答这个问题,可能会获得 +50声望点的奖励。Nymos希望引起更多人对这个问题的关注。

大家好!对于我的视觉小说中的某些变化,我想测试玩家的反应,类似于游戏《黎明杀机》。它看起来像这样:

在此输入图像描述

好吧,就我个人而言,我在这方面的成功是:

  1. 我已经导入了 datetime 模块来处理时间:
python:
    import datetime
  1. 创建一个变量来存储玩家应该做出反应的时间。
$ time_limit = datetime.datetime.now() + datetime.timedelta(seconds=10)
  1. 接下来,我为检查玩家反应时间的场景创建了一个标签(label):
label reaction_check:
    "У вас есть 10 секунд, чтобы дать реакцию."

    $ start_time = renpy.game.time.time()
   
    
    menu:
        "Реакция 1":
            $ reaction = "reaction_1"

    $ end_time = renpy.game.time.time()
    $ reaction_time = int(end_time - start_time)

    if reaction_time <= 10:
        "Вы дали реакцию вовремя. Nymos молодец {reaction_time} секунд."

    else:
        "Вы не дали реакцию вовремя. Nymos лох {reaction_time} секунд."

在此示例中,场景reaction_check设置了玩家反应的时间限制为 10 秒。然后计算玩家反应开始和结束之间的时间,并检查反应是否按时给出。

虽然我写了反应测试,但我还是没有做出类似的黎明杀机游戏。我不知道如何制作动画并使其如果玩家击中白线,他就赢了。如果您能提供帮助,我将不胜感激!

python
  • 1 个回答
  • 23 Views
Martin Hope
Nymos
Asked: 2023-08-23 00:39:31 +0000 UTC

更改按钮上的选项单击 unity

  • 5

我的任务是使用按钮更改评分值,每个按钮应该有自己的评分速度。换句话说,每个按钮都将是决定评分速度的参数的一种“升级”。

这是第一个脚本:

using System;
using UnityEngine.UI;

[Serializable]
public class Score
{
    public Text text;
    public int score;

    // Если просто изменять score, то у нас не изменится Text
    // Поэтому добавляем метод для изменения 
    // (P.S.: Рекомендую изучить getter и setter)
    public void SetScore(int score)
    {
        this.score = score;
        text.text = score.ToString();
    }
}

这是第二个脚本

public class Game : MonoBehaviour
{
    public Score sub;
    public Score money;
    public Score top;

    private void Start()
    {
        StartCoroutine(CountPoints(sub, 10000)); // Добавляем 10000 очков
        StartCoroutine(CountPoints(money, 10000)); // Добавляем 10000 монет
        StartCoroutine(CountPoints(top, -1000)); // убираем 1000 очков
    }

    IEnumerator CountPoints(Score scoreObject, int increase)
    {
        // Чем больше количество очков, тем меньше задержа
        // Таким образом очки будут накапливаться всегда за increaseTimeInSeconds секунд
        float delay = 1f / increase * increaseTimeInSeconds; 

        for (var i = 0; i < increase; i++)
        {
            scoreObject.SetScore(scoreObject.score+1); // Добавляем очки
            yield return new WaitForSeconds(delay); // Ждём
        }
    }
c#
  • 1 个回答
  • 16 Views
Martin Hope
Nymos
Asked: 2023-07-31 18:04:46 +0000 UTC

需要更改 Unity 中按钮单击时间的帮助

  • 5

向所有参与者问好!我遇到了一个我自己无法解决的错误。我尝试实现一个功能,其中当单击Unity游戏中的按钮时,每个变量的值会发生不同的变化,使用WaitForSeconds.

我想警告您,我的编程经验有限,因此我的代码可能没有为每个变量提供三个相同部分的最佳解决方案。试图自己纠正错误只会让事情变得更糟。

预先感谢那些可以帮助我解决这些错误并为我指明进一步解决问题的正确方向的人!

这是完整的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Game : MonoBehaviour
{
    public Text sub;
    public int score;

    public Text money;
    public int score1;

    public Text top;
    public int score2;

    public string product;


    void Start()
    {
        StartCoroutine(CountPoints());
        StartCoroutine(CountPoints1());
        StartCoroutine(CountPoints2());
    }

    IEnumerator CountPoints()
    {
        while (score < 10000)
        {
            sub.text = score.ToString();
            score++;
            yield return new WaitForSeconds(1);
        }
    }

    IEnumerator CountPoints1()
    {
        while (score1 < 10000)
        {
            money.text = score1.ToString();
            score1++;
            yield return new WaitForSeconds(0.5f);
        }
    }

    IEnumerator CountPoints2()
    {
        while (score2 > 0)
        {
            top.text = score2.ToString();
            score2--;
            yield return new WaitForSeconds(3.6f);
        }
    }

    public void productUpgrade()
    {
        int count = PlayerPrefs.GetInt(product);
        PlayerPrefs.SetInt(product, count = 1);

        Debug.Log(count + 1);
    }
}
c#
  • 1 个回答
  • 61 Views
Martin Hope
Nymos
Asked: 2023-05-28 19:29:35 +0000 UTC

帮助修复 python 代码

  • 3

我试图在 python 中制作黑杰克游戏,但我在代码中遇到了很多无法修复的错误。二十一点规则:

“游戏的目标是获得21分或接近21分。如果玩家得分超过21分,那么他的赌注输了。如果庄家牌上的点数大于21,那么剩下的所有赌注game win. 闲家,得分多于庄家者获胜,他们的赌注按1:1赔付。

这是完整的代码,之后我将写下我遇到的所有错误。

import random

score = random.randint(4, 20) #пользователь
scoreBot = random.randint(4, 20) #дилер

print("Поиграем в твое очко!")
print("Если ты набрал 21, то нажми \n'Enter'")
print("Если больше не хочешь играть, то напиши английскую 'e'")

state = ("Победил", "Проиграл")

class Game:
    isWin = 0
    
    def getCard(self):
        return random.randint(2,10)
    def AI(self):
        if scoreBot < 21:
            scoreBot += getCard()

    def getResult(self):
        if score > scoreBot: isWin = 1
        else:
            isWin = 0

        if score > 21:
            win = 0
            print("У противника ",scoreBot," очков, у тебя ", score)
            print("Ты", state[isWin])
            print("Если хочешь сыграть еще, то нажми \n'Enter'")
            print("------------")

        if score == 21:
            win = 1
            print("У противника ",scoreBot," очков, у тебя ", score)
            print("Ты выйграл!")
            print("Если хочешь сыграть еще, то нажми \n'Enter'")
            print("------------")
            
        
        

game=Game()
choose = ''
while choose != 'e':
    if score > 21:
        game.getResult()
    print("У противника ",scoreBot," очков, у тебя ", score)
    choose = input('Взозьмешь карту? (+)/(-)\n')

    if choose == '+':
        score += game.getCard()
    elif choose == '-':
        print(" Ты набрал ", score)
    else: 
        game.getResult()
        score = random.randint(4, 20)
        scoreBot = random.randint(4, 20)

  1. 当您获胜或反之获胜时,计分器不会重置。
  2. 如果用户下注-,那么庄家不想拿牌,然后一切都崩溃了。
  3. 还有,当,当用户还是这21分的时候,那你又要点击了Enter,这是不应该的。
  4. 好吧,我遇到的最后一个错误是用户可以无休止地单击+并且计数器可以达到很大的值,这是不应该的。
python
  • 1 个回答
  • 41 Views
Martin Hope
Nymos
Asked: 2022-09-16 00:44:39 +0000 UTC

试图理解周期

  • 1

昨天在大学里,我们做了拼图(我不记得是哪一个了),为了不每次都点击F5,我决定写while True。代码如下所示:

while True:
    a = input()
    b = input()
    print(a+b)

老师看到了,打了我的脸。然后他说,如果你这样写,你就会被解雇。当然,我知道它while True会加载 RAM,但我不知道如何以不同的方式编写循环。有可能以某种方式将其更改为循环for吗?有什么可以替换while True和解释的。

python
  • 0 个回答
  • 0 Views
Martin Hope
Nymos
Asked: 2022-09-13 21:51:40 +0000 UTC

是否有可能在 Python 中解决这个问题?

  • -1

大家好,我有一个问题。老师说这个问题用Python是解决不了的。这是任务:

确定 B 点和 C 点之间最短路径的长度。您只能沿着道路移动,其长度如表中所示。

在此处输入图像描述

是否可以在 Python 中完成此任务?如果是这样,您能否放弃解决方案并向我解释您是如何做到的。

python
  • 0 个回答
  • 0 Views
Martin Hope
Nymos
Asked: 2022-09-06 22:37:39 +0000 UTC

为什么我的代码非常冗余?

  • 0

大家好,我想请您向我解释我的错误是什么以及如何改进此代码。问题在“Python 中的棋盘颗粒问题。编写一个循环,打印一个单元格的序列号及其上的颗粒数,直到一个单元格中的颗粒数超过 100000。使用简单的循环。而,对于 .Range 帮助, 请。”

这是代码:

from math import *

sum = 0
for n in range(1, 65):
  m = int(pow(2, n - 1))
  print("%2d: %d" % (n, m))
  if sum < 100000:
    sum = sum + m
  if sum > 100000:
    break
print("sum = %d" % sum)
python
  • 0 个回答
  • 0 Views
Martin Hope
Nymos
Asked: 2022-09-02 21:40:57 +0000 UTC

Unity中如何绑定变量?

  • 0

大家好,我有一个我无法解决的问题。我希望变量top取决于变量money的值sub。

例如:如果变量subexample 的数字为548,则该变量的money每秒暂停次数变为0.4f yield return new WaitForSeconds(0.4f);并且该变量的top每秒暂停次数变为4yield return new WaitForSeconds(5);。也就是说,变量 中的数字越大,变量和sub中的数字集合就越快topmoney。

像这样的东西。这是整个代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Game : MonoBehaviour
{
    public Text sub;
    public int score;

    public Text money;
    public int score1;

    public Text top;
    public int score2;


    void Start()
    {
        StartCoroutine(CountPoints());
        StartCoroutine(CountPoints1());
        StartCoroutine(CountPoints2());
    }

    IEnumerator CountPoints()
    {
        while (score < 10000) 
        {
            sub.text = score.ToString();
            score++;
            yield return new WaitForSeconds(1); 
        }
    }

    IEnumerator CountPoints1()
    {
        while (score1 < 10000) 
        {
            money.text = score1.ToString();
            score1++;
            yield return new WaitForSeconds(0.5f); 
        }
    }

    IEnumerator CountPoints2()
    {
        while (score2 > 0)
        {
            top.text = score2.ToString();
            score2--;
            yield return new WaitForSeconds(5);
        }
    }
}
c#
  • 1 个回答
  • 51 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5