创建长度为拆分字符串的符号数组

2024-10-02 16:28:31 发布

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

所以,我正在为一个初学者代码类制作一个Hangman游戏,现在我有一个函数,它将从所选类别中返回一个随机单词。接下来,我要做一个'*'数组,每个*代表单词中的一个字母

我想让你帮我修复的功能是Array\u Juego(palabra\u a\u jugar)

__author__ = 'Rodrigo Cano'
#Modulos

import random

#Variables Globales

intentos = 0
incorrectos = 0
palabras = [(1,"disclosure"),(1,"thenational"),(1,"foals"),(1,"skepta"),(1,"shamir"),(1,"kanye"),
              (1,"fidlar"),(1,"lcdsoundsystem"),(1,"lorde"),(1,"fkatwigs"),(1,"miguel"),(1,"rtj"),
              (1,"boniver"),(1,"strokes"),(2,"vaporwave"),(2,"witchouse"),(2,"shoegaze"),(2,"memerap"),
              (2,"paulblartisoursaviour"),(3,"glockenspiel"),(3,"aesthetic"),(3,"schadenfreude"),
              (3,"bonvivant"),(3,"swag"),(3,"jue")]
palabra_a_jugar = ''
#Funciones

def Definir_Palabra():
    eleccion = int(input("Bienvenido, que categoria quiere usar:"
                     '\n'"1 - Musica que Escuche Mientras Lo Hacia"
                     '\n'"2 - Generos Musicales"
                     '\n'"3 - Palabras Pretenciosas"))
    palabras_escogidas = [i for i in palabras if eleccion in i ]
    palabra_a_jugar = str(palabras_escogidas[random.randint(0,len(palabras_escogidas))].__getitem__(1))
    return palabra_a_jugar


def Array_Juego(palabra_a_jugar):
    Array_Palabra =[]
    for palabra_a_jugar in range(0,len(palabra_a_jugar.split())):
        Array_Palabra.append("_")
    return Array_Palabra

print(Definir_Palabra())
print(Array_Juego(palabra_a_jugar))

Tags: infordefrandom单词arrayquejuego
1条回答
网友
1楼 · 发布于 2024-10-02 16:28:31

问题在于:

for palabra_a_jugar in range(0,len(palabra_a_jugar.split())):
        Array_Palabra.append("_")

palabra_a_jugar以字符串开头split()返回子字符串列表,在分隔符处断开,默认情况下为空白。所以呢

'palabara a jugar'.split() 

将返回['palabra', 'a', 'jugar']

不过,你大概只有一个词。假设palaba_a_jugar的值是“preteciosas”。那就没有空格了,所以

'palabara a jugar'.split() 

会回来的

['pretenciosas']

单元素列表。这就解释了你看到的行为

但是,您不需要像这样到处奔波,为它编写函数也不值得。与palabra_a_jugar长度相同的恒星列表

len(palabra_a_jugar) * ['*']

For example, 4*['*']== ['*','*','*','*']

相关问题 更多 >