在Python中创建一个种族?

2024-04-18 04:30:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python3非常陌生。作为一项任务,我应该用python基本语法和进行一场比赛,而不导入任何其他附加函数,其中3只老鼠以不同的获胜几率进行比赛。你知道吗

from random import randint
import time


def race():
    z = '----{,_,">'  # The mouse.
    j = ' '
    print('\t'*13, '|')  # The finish line. Very sophisticated.
    while len(z) < 50:
        time.sleep(1)
        #or k in range(3):
        x = randint(1, 6)
        j = ' ' * x
        z = j + z
        print("\r" + str(z), end="")  # For clearing printed text. I prefer not to import os.

正如你可能看到的,我已经设法做了一个;还有两个。但是我绞尽脑汁想了三个小时怎么做,那就是如何让它们同时进行。。。任何帮助都将不胜感激。你知道吗


Tags: the函数fromimporttimedef语法random
2条回答

正如您所看到的,不幸的是"\r"字符只会擦除当前行,但不会擦除其他行,因此无法使用此策略创建程序。唯一的方法是使用多个print("\n")清除控制台。请参见此示例:

from random import randint
import time


def clear():
    print("\n"*80)

def race(mice = 2):

    mice = ['  {,_,">' for i in range(mice)]
    finished = [False,]

    while not all(finished):

        time.sleep(1)
        clear()

        print('\t' * 13, '|')  # The finish line. Very sophisticated.

        for i in range(len(mice)):

            x = randint(1, 6)
            spaces = ' ' * x
            mice[i] = spaces + mice[i]
            print(mice[i])

        finished = map(lambda mouse: False if len(mouse) < 50 else True, mice)

race(3)
  • 创建一个以字符串(鼠标)为参数的函数;向其中添加随机数目的空格并返回新字符串。你知道吗
  • 做三只老鼠。你知道吗
  • 对于每个鼠标调用函数并将结果分配给该鼠标。你知道吗
  • 重复此操作,直到一只鼠标获胜-(字符串为特定长度)。你知道吗

相关问题 更多 >