2015-10-07 56 views
0

所以選擇隨機單詞從列表中,我正在做的一類蟒蛇劊子手,我要問的人哪些詞的類別使用,從這個詞創建空空間的長度的數組用戶輸入的字母會被填充,如果它在那裏的話。我很難過,我覺得這很容易,但現在我卡住了。根據之前的變量

__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

回答

0

兩件事情:

的Python input總是string。您需要明確地將其轉換爲int

(int(input(...)) 

而且名稱的方法和變量不能是相同的,

def Array_Palabra(palabra): 

不能一樣

Array_Palabra = [] 

編輯: Elegir_Palabra(eleccion)回報palabra但你沒有指定返回值的任何變量。 替換爲variable_name = Elegir_Palabra(eleccion)

+0

不,沒有幫助。還沒讓我從eleccion轉移值以下功能 –

+0

@RodrigoCano檢查編輯。我沒有詳細看過你的代碼。那些是我輕易發現的錯誤 – sam

0

input()在Python 3中總是返回一個字符串。所以,你要麼需要將結果轉換爲一個整數(return int(eleccion))或結果字符串(if eleccion == '1')進行比較。

除了:

你的代碼行

eleccion = int 
palabra = str 

不做任何有用的東西。你不能在Python中聲明一個變量的類型。這些只是將類型對象分配給int和str給變量。