def main(): 
     name = input('Typer your name and press enter: ')
     name_list = name.split()

     print(name_list)

     first = name_list[0][0]
     middle = name_list[1][0]
     last = name_list[2][0]

     print(first.upper(),'.', middle.upper(),'.', last.upper()) 

main()

Я использую Python 3.5.2

1
ang2010 24 Апр 2017 в 03:35

2 ответа

Лучший ответ

Вы запускаете код в Python 2, а не Python 3 ...

$ python script.py
Typer your name and press enter: ang go koms
Traceback (most recent call last):
  File "script.py", line 13, in <module>
    main()
  File "script.py", line 2, in main
    name = input('Typer your name and press enter: ')
  File "<string>", line 1
    ang go koms
         ^
SyntaxError: invalid syntax

Отсюда и ваша «ошибка». Найти разницу в input и raw_input ... Это обычная проблема.


Теперь попробуйте Python3

$ python3 script.py
Typer your name and press enter: ang go koms
['ang', 'go', 'koms']
A . G . K

Вы можете видеть, что мой по умолчанию python на самом деле Python 2

$ python --version
Python 2.7.13
2
cricket_007 24 Апр 2017 в 01:13

Я не вижу какой-либо конкретной проблемы с кодом, который вы добавили, кроме отсутствующего двоеточия. Так что это то, что я успешно запускаю. Кажется, вы не скопировали вставленный код, поскольку сказали, что в коде есть двоеточие. Так что, возможно, попробуйте мой и посмотрите, есть ли разница где-то в характере.

def main():
    name = input('Type your name and press enter: ')
    name_list = name.split()

    print(name_list)

    first = name_list[0][0]
    middle = name_list[1][0]
    last = name_list[2][0]

    print(first.upper(), '.', middle.upper(), '.', last.upper())

main()

Вы также можете посмотреть на обработку, когда имя длиннее или короче 3 слов.

0
Aklys 24 Апр 2017 в 01:01