2016-10-15 9 views
0

Я пытаюсь преобразовать цифры в слова из ввода std (txt-файл). Если входной сигнал, например: 1234, я хочу, чтобы выход был одним из двух трех четырех, для следующей строки в текстовом файле я хочу, чтобы выход был на новой строке в оболочке/терминале: 1234 один два три четыре 56 пять шесть Проблема в том, что я не могу получить ее для вывода на одной строке. код до сих пор:цифры от слова sys.stdin

#!/usr/bin/python3 

import sys 
import math 

def main(): 
    number_list = ["zero","one","two","three","four","five","six","seven","eight","nine"] 
    for line in sys.stdin: 
     number = line.split() 

     for i in number: 
      number_string = "".join(i) 
      number2 = int(number_string) 
      print(number_list[number2]) 
main() 
+0

Я не хочу печатать весь вывод в той же строке, но для каждой строки ввода мне нужна линия вывода. –

ответ

1

Поместите слова в списке, присоединиться к ним, и напечатать строку.

#!/usr/bin/python3 
import sys 
import math 

def main(): 
     number_list = ["zero","one","two","three","four","five","six","seven","eight","nine"] 
     for line in sys.stdin: 
       digits = list(line.strip()) 
       words = [number_list[int(digit)] for digit in digits] 
       words_line = ' '.join(words) 
       print(words_line) 
main() 
+0

спасибо, это работает –

+0

Счастливые помочь. Если ответ решит вашу проблему, вы можете принять его, нажав галочку рядом с ответом. – xli