2016-12-02 8 views
0

Я пытаюсь запустить этот код в python против тестовых примеров и принять его любым строковым вводом из тестовых примеров, не указывая явно объявление строки. пример: строка = «строка из букв, чтобы сделать предложение»python 3: способ определения функции для приема любого ввода строки из разных тестовых случаев?

Ниже приведена мой код:

def to_weird_case(string): 
    index = 0 
    new_string = '' 
    for word in string: 
     if word == ' ': 
      index = -1 
      new_string += word 
     elif index % 2 == 0: 
      new_string += word.upper() 
     else: 
      new_string += word.lower() 
     index += 1 
    return new_string 
print(to_weird_case(string)) 

Однако, когда я запускаю код, я получаю «строку» не определена ошибка (с нет ссылки на линию). Я чувствую, что я определил его, но я новичок в python и приветствую все уничтожающие im, о которых можно даже просить об этом, но я пытаюсь научиться, поэтому, если это поможет мне понять, что я сделал не так, пусть так и будет.

+2

'print (to_weird_case (string))': 'string' здесь не определен ... –

+2

Эта строка' print (to_weird_case (string)) 'вы не сказали ей, какую строку использовать. Вы только что написали 'string'. Попробуйте 'print (to_weird_case (" некоторый текст здесь "))'. – khelwood

+1

В следующий раз помните, что 'string' не является хорошим именем переменной, так как это имя модуля python –

ответ

1

Вы используете переменную с именем string, не присвоив ей значение.

Прежде чем использовать функцию to_weird_case, вам сначала нужно сказать где-то, что равно переменной string. Например:

string = 'blabla' 

Тогда вы можете использовать свою функцию на нем.

1

Это так же, как сказал Тенеральный. Более подробно:

Ваша функция в порядке, но в конце определения функции вы вызывали свою функцию с переменной string. Однако вы никогда не назначали значение string.

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

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