Для L oop показывает все шаги один за другим, а не финал напрямую - PullRequest
1 голос
/ 31 марта 2020

Я изучил Python из этого видео на YouTube Python Учебник для начинающих по программированию с Мо sh.

В (2:26:28) в На видео инструктор дал упражнение на написание программы для преобразования чисел из номера телефона в слова. Я пытался это сделать. В настоящее время я использую Pycharm с Python 3.8.2 для Ma c.

. Это то, что я написал:

number = input('Phone: ')
number_in_words = {
    '1': 'One',
    '2': 'Two',
    '3': 'Three',
    '4': 'Four'
}
final_output = ''
for words in number:
    final_output += number_in_words.get(words) + ' '
    print(final_output)

И это вывод:

Phone: 1234
One 
One Two 
One Two Three 
One Two Three Four 

Я, однако, хочу только последнюю строку на терминале, а не остальные.

Ответы [ 4 ]

3 голосов
/ 31 марта 2020

Не делайте отступ в последней строке

for words in number:
    final_output += number_in_words.get(words) + ' '

print(final_output)

Теперь он находится за пределами l oop и будет напечатан один раз.

1 голос
/ 31 марта 2020

ваш отпечаток () не должен быть в л oop,

    final_output += number_in_words.get(words) + ' '

print(final_output)`
1 голос
/ 31 марта 2020

Просто Вы должны вызвать оператор print () вне тела l oop следующим образом:

number = input('Phone: ')
number_in_words = {
    '1': 'One',
    '2': 'Two',
    '3': 'Three',
    '4': 'Four'
}
final_output = ''
for words in number:
    final_output += number_in_words.get(words) + ' '
print(final_output)

Ouput:

Phone: 123                                                                                                            
One Two Three
1 голос
/ 31 марта 2020

Пожалуйста, попробуйте следующее:

for words in number:
    final_output += number_in_words.get(words) + ' '
print(final_output)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...