2017-02-21 53 views
0

У меня проблема с этим кодом, поскольку я продолжаю получать синтаксическую ошибку. Я создал список с разными приветствиями, но я не мог заставить его вспомнить строку 24. Пожалуйста, помогите. Спасибо :)неподдерживаемый тип операндов для +: 'NoneType' и 'str' tkinter error

import pyttsx 
import sklearn 
import random 

speech_engine = pyttsx.init('sapi5') # see  http://pyttsx.readthedocs.org/en/latest/engine.html#pyttsx.init 
speech_engine.setProperty('rate', 150) 
def Hello(): 

    words = [line.strip() for line in open('Hello.txt')] 
    speak(random.choice(words)) 




def speak(text): 
    speech_engine.say(text) 
speech_engine.runAndWait() 


intro=(Hello()) 

Greeting=input(speak("What is your name")) 

Account=input(speak(intro + Greeting + ", Would you like to Log in or create an account")) 


if Account==("Create An Account") or Account==("Create An Account") or Account==("create an account"): 
     Password=input(speak("What is the password going to be for your account")) 
     text_file = open("Password.txt", "a") 
     text_file.write("|   "+ Greeting +"     |   "+ Password +"   |\n") 
     text_file.close() 

ответ

2

Поскольку ваша функция Hello() не return ничего, он неявно возвращает None, поэтому введение = None. Теперь вы пытаетесь «добавить» строку в «Нет», что в точности означает ваше сообщение об ошибке.

Если вы просто хотите вызвать функцию Hello(), чтобы приветствовать пользователя, просто сделайте это, позвонив Hello() без назначения возвращаемого значения. Так как это None в любом случае, нет очевидной причины включить его в инструкцию input(...).

EDIT:

Принимая комментарий во внимание, я предлагаю вам изменить свою функцию:

def Hello(): 
    words = [line.strip() for line in open('Hello.txt')] 
    return random.choice(words) 
+0

Есть ли способ исправить это? Извините, что я довольно новичок в этом –

+0

Зависит от того, чего вы пытаетесь достичь с помощью 'intro + Greeting +" ... "'. Прямо сейчас удаление части 'intro +' может решить эту проблему. –

+0

Я бы хотел, но это часть, в которой я нуждаюсь, поэтому она не говорит «Привет» каждый раз. –

 Смежные вопросы

  • Нет связанных вопросов^_^