根据先前的变量从列表中选择随机单词

时间:2015-10-07 00:17:06

标签: python

所以,我正在为一个班级制作一个蟒蛇刽子手,我需要问人们使用哪个词类,并从该词创建一个空格数组,这个词的长度会被字母填满用户输入,如果它当然在那里。我很难过,我觉得这很容易,但现在我被卡住了。



__author__ = 'rodrigocano'
import random
intentos = 0
incorrectos = 0
palabras_1 = ["disclosure","thenational","foals","skepta","shamir","kanye","fidlar","lcdsoundsystem",
              "lorde","fkatwigs","miguel","rtj","boniver","strokes"]
palabras_2 = ["vaporwave","witchouse","shoegaze","memerap","paulblartisoursaviour"]
palabras_3 = ["glockenspiel","aesthetic","schadenfreude","bonvivant","swag"]
eleccion = int
palabra = str
Array_Palabra = []

def Elegir_Categoria():
    eleccion = input("Bienvenido, que categoria quiere usar:"
                     '\n'"1 - Musica que Escuche Mientras Lo Hacia"
                     '\n'"2 - Generos Musicales"
                     '\n'"3 - Palabras Pretenciosas")
    return eleccion
Elegir_Categoria()

def Elegir_Palabra(eleccion):
    if eleccion == 1:
        palabra = random.choice(palabras_1)
    elif eleccion == 2:
        palabra = random.choice(palabras_2)
    elif eleccion == 3:
        palabra = random.choice(palabras_3)
    else:
        print("No es valido, por favor escoger nuevamente")
        Elegir_Categoria()
    return palabra

Elegir_Palabra(eleccion)

def Array_Palabra(palabra):
    for palabra in range (0, len(palabra)+1):
        Array_palabra = Array_Palabra.append("_")
    return Array_Palabra




2 个答案:

答案 0 :(得分:0)

夫妻俩:

Python input始终是string。您需要将其显式转换为int

(int(input(...))

方法和变量的名称也不能相同,

 def Array_Palabra(palabra): 

不能与

相同
Array_Palabra = []

修改 Elegir_Palabra(eleccion)返回palabra,但您没有将返回值分配给任何变量。 替换为variable_name = Elegir_Palabra(eleccion)

答案 1 :(得分:0)

Python 3中的

input()总是返回一个字符串。因此,您需要将结果转换为整数(return int(eleccion))或将结果与字符串文字(if eleccion == '1')进行比较。

此外:

您的代码行

 eleccion = int
 palabra = str
不要做任何有用的事情。您无法在Python中声明变量的类型。这些只是将int和str的类型对象分配给变量。