Аватар для Den468
30 / 18 / 14
Регистрация: 19.12.2018
Сообщений: 104

Ошибка при выводе строки

02.02.2019, 00:57. Показов 10055. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим, даны ФИО, нужно имя и отчество сократить до инициалов и напечатать результат.
В моём случае печатается полнейший бред, либо ошибка при выполнении кода.
Код прилагаю:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def name():
    A = "Иванов Пётр Семёнович"
    i = 0
    A = list(A)
    while True:
        if A[i] == ' ':
            A[i] = list(A[i])
            B = A[i+1]
            break
        i += 1
    while True:
        if A[i] == ' ':
            A[i] = list(A[i])
            C = A[i+1]
            break
        i += 1
    out = B + '.' + C
    A = str(A)
    j = 0
    A = list(A)
    while True:
        if A[j] == ' ':
            A[j] = list(A[j])
            D = A[j]
            break
        j += 1
    A = str(A)
    outputLine = B + '.' + C + A[j:]
    print(outputLine)
    return
 
name()
Помогите, кто знает
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.02.2019, 00:57
Ответы с готовыми решениями:

Ограничить длину строки при выводе
Пусть выводится строка длиной символов 10: "0123456789" Как сделать так, чтобы выводилось только 5 символов этой строки, то есть на...

выводится none с новой строки при выводе атрибута
Привет, помогите пожалуйста решить проблему - выводится none с новой строки при выводе атрибутов class Users(): def...

Ошибка при выводе бинарного дерева
Я еще новичок в питоне. Пытался написать бинарное дерево. Просто через функции все получилось, а вот когда переписал в класс, перестало...

8
 Аватар для leery_user
178 / 147 / 21
Регистрация: 07.11.2009
Сообщений: 591
02.02.2019, 01:12
Лучший ответ Сообщение было отмечено Den468 как решение

Решение

Цитата Сообщение от Den468 Посмотреть сообщение
Помогите, кто знает
Python
1
2
3
4
5
6
7
def name(name):
    name = name.split()
    print(name[0], name[1][0:1], name[2][0:1])
 
 
if __name__ == "__main__":
    name("Иванов Пётр Семёнович")
1
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
02.02.2019, 10:30
necroslider, Так как здесь требуется в качестве инициалов взять по одному символу, то можно использовать не только срез, но и просто индексацию.
print(name[0], name[1][0], name[2][0])
0
 Аватар для leery_user
178 / 147 / 21
Регистрация: 07.11.2009
Сообщений: 591
02.02.2019, 10:45
Цитата Сообщение от Viktorrus Посмотреть сообщение
necroslider, Так как здесь требуется в качестве инициалов взять по одному символу, то можно использовать не только срез, но и просто индексацию.
print(name[0], name[1][0], name[2][0])
Абсолютно согласен, использовал срез специально для того, чтобы автор узнал новую фишку и, возможно, погуглил что это за "дичь". Ну и лично мне так больше нравится, а то похоже на многоуровневый список, а так сразу очевидно что там строка, но это уже чисто мои загоны)
0
11 / 2 / 1
Регистрация: 01.11.2018
Сообщений: 42
03.02.2019, 01:54
А если проще поступить? Я всегда думал, что если есть слово "допустим Иванов Петя Васильевич" то он всегда может стать и Петровым и тд. =) облегчим задачу трудяге python до 3х строк
Python
1
2
3
name = input('')
name = name.split()
print(name[0], name[1][0:1], name[2][0:1])
0
 Аватар для Den468
30 / 18 / 14
Регистрация: 19.12.2018
Сообщений: 104
03.02.2019, 02:33  [ТС]
poppy1, даже если и станет. С помощью цикла я искал пробелы, а после брал первые буквы тех слов, что мне нужны. Сама ошибка заключалась в выводе фамилии, вместо слова печаталась куча скобок, кавычек и запятых. Но один знающий человек выше уже ответил.
0
11 / 2 / 1
Регистрация: 01.11.2018
Сообщений: 42
03.02.2019, 04:37
Я понял, решил просто помочь) у тебя код "ну почти верен". Я изменил только в твоем коде переменные, и строку outline
Я думаю, что ты до питона изучал С\С++?
Не уверен конечно, что в С есть такое правило, что "строки нельзя изменять", что видно в твоем коде
A = "Вася Вася Вася"
потом А=list(A)
и в конечном итоге не изменяешь строку
твой код?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def name():
    A = "Иванов Пётр Семёнович"
    i = 0
    C = list(A)
    while True:
        if C[i] == ' ':
            C[i] = list(A[i])
            B = C[i+1]
            break
        i += 1
    while True:
        if C[i] == ' ':
            C[i] = list(A[i])
            D = A[i+1]
            break
        i += 1
    out = B + '.' + D
    K = str(A)
    j = 0
    K = list(A)
    while True:
        if K[j] == ' ':
            K[j] = list(A[j])
            K = A[j]
            break
        j += 1
    K = str(A)
    outputLine = B + '.' + D + '.' + K[:j]
    print(outputLine)
    return
 
name()
0
 Аватар для Den468
30 / 18 / 14
Регистрация: 19.12.2018
Сообщений: 104
03.02.2019, 13:51  [ТС]
poppy1, и как Вы догадались? Я и правда до Python немного увлекался C++
Да, код мой
0
 Аватар для Den468
30 / 18 / 14
Регистрация: 19.12.2018
Сообщений: 104
04.02.2019, 22:45  [ТС]
poppy1, спасибо за правку кода
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.02.2019, 22:45
Помогаю со студенческими работами здесь

Ошибка при выводе функции format
Прописал программу, в которой объявил переменную и пытаюсь ее вставить в строку с помощью функции format. (см. скрин 1) my_name =...

Как убрать лишние строки при выводе в python
from math import sqrt from colorama import init from colorama import Fore, Back, Style init() x = float(0) y = float(0) size =...

Синтаксическая ошибка при выводе Label
Выдает синтаксическую ошибку Делаю все по книге! Подскажите в чем причина? from tkinter import * root =Tk() ...

При выводе декодированных байтов выводится ошибка
Всем привет! При написании парсера столкнулся с такой проблемой from urllib.request import urlopen url = 'http://ya.ru/' data =...

Скрыть символ новой строки при выводе строк из файла
Всем доброго времени суток, Изучая запись и чтение из файла в Пайтоне, наткнулся на такую проблему, которую пока не могу решить. Вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru