Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 26, 2019 02:13:54

jkee16
Зарегистрирован: 2019-10-26
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с задачей, запутался в циклах

Условие задачи такое : программа спрашивает у пользователя слово (в кириллице). Если вторая буква слова — это «к», «и» или «л», то выводит все чётные буквы этого слова, иначе выводит все нечётные буквы.
Я новичок, получилось что-то вот такое корявое, что выдает ошибку, подскажите, пожалуйста, что переделать, чтобы заработало:

File “CUsers/emati/PycharmProjects/homework/hw.py”, line 1, in <module>
a = int(input('Введите слово:'))
ValueError: invalid literal for int() with base 10

Сама прога выглядит так:

a = int(input('Введите слово:'))
b = ('к')
c = ('и')
d = ('л')
if len(a) < 1:
print('Введите слово!')
else:
if a == b or a == c or a == d:
for i in range(len(a)):
print(a)
if i == len(a) - 1:
break
else:
for i in range(len(a)):
print(a)
if i == len(a) - 1:
break






Офлайн

#2 Окт. 26, 2019 07:43:44

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Помогите с задачей, запутался в циклах

При публикации на сайте помещайте программу в теги code Это <> на toolbar
:):)

jkee16
подскажите, пожалуйста, что переделать, чтобы заработало:
Эээ… Все переделать. Все стереть и писать заново. Каким образом у вас такое получилось?
Обычно задачу разбивают на подзадачи и решают их последовательно. Как вы могли все это написать если в первой строке ошибка?
Откуда у вас лишние надписи? Такое впечатление что вам кот матроскин и шарик помогают когда вы отворачиваетесь.
Как на мой взгляд происходит:
Надо ввести слово ок, Смотрим документацию про input. Выясняем что в pycharm выделенный блок выполняется по нажатию ctrl +alt +E ну или както похоже, а точно не помню.
 input()
проверили просит ввод… ок. Надо результат поместить в переменную.
 a=input()
проверили содержимое a … ок. Нужна подсказка перед вводом.
 a=input("Введите слово")
проверили Подсказывает. ок. …. А тут о чем думаете??? Наверное ушли пописать а шарик вместо вас написал
 a=int(input("Введите слово"))
Бемц. Программа валится. Ааа,.. Пофиг. Пишем дальше.
Ааа,.. Пофиг.
Ааа,.. Пофиг.
….
Блин, чего же оно само никак не выздоравливает? Уже много времени прошло!!!
Может витаминов дать???
….
Ааа,.. Пофиг.

Препод не принимает ок. Пишем на форум.

По сути у вас в каждой строчке половину шарик написал
b = ('к') # Скобки кто писал и зачем? Шарик
c = ('и')
d = ('л')
if len(a) < 1: # Где в задании сказано что слово не может быть пустым? Как вообще могла возникнуть такая мысль? Шарик
print('Введите слово!')
# введите слово и после этого прога завершается. Походу шарик не только пишет но и стирает кое что.
else:
if a == b or a == c or a == d: # Целое слово равно одной букве?

Ну вобщем стирайте все. Заприте шарика и пишите заново.



Отредактировано doza_and (Окт. 26, 2019 07:55:47)

Офлайн

#3 Окт. 26, 2019 08:51:55

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Помогите с задачей, запутался в циклах

 # coding: utf-8
# python 3.x
b = ('к', 'и', 'л')
while 42:
    a = input('Введите слово (для выхода введите цифру 42):')
    if a == "42":
        print('end')
        break
    elif a[1] in b:
        [print(i[1]) for i in enumerate(a) if i[0] % 2]
    else:
        [print(i[1]) for i in enumerate(a) if i[0] % 2 == 0]
jkee16 с вас отредактировать свой пост с тегами bbcode или это



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Окт. 26, 2019 09:01:08)

Офлайн

#4 Окт. 26, 2019 09:32:26

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Помогите с задачей, запутался в циклах

Шарик и тут поработал.
Многословно

 >>> 'a' in ("a","b")
True
>>> 'a' in 'ab'
True
Многословно
 >>> [print(i[1]) for i in enumerate("012345") if i[0] % 2]
1
3
5
>>> "012345"[1::2]
'135'
просто неправильно
 a="a"
if a[1] in "клм":
    ...
IndexError: string index out of range
 try:
    p0 = 1 if a[1] in "клм" else 0
except IndexError:
    p0 = 0
print(a[p0::2])



Отредактировано doza_and (Окт. 26, 2019 09:49:45)

Офлайн

#5 Окт. 26, 2019 09:46:56

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Помогите с задачей, запутался в циклах

jkee16
программа спрашивает у пользователя слово (в кириллице).
jkee16
Если вторая буква слова



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#6 Окт. 26, 2019 09:53:12

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Помогите с задачей, запутался в циклах

AD0DE412
jkee16
программа спрашивает у пользователя слово (в кириллице).
Согласен, я тоже не прав. Надо проверить что это кириллица. Но лень.https://toster.ru/q/330836



Офлайн

#7 Окт. 26, 2019 10:01:03

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Помогите с задачей, запутался в циклах

вы вы вы просто завидуете … завидуете моему стилю вам должно быть стыдно
зы не ну че пошутить незя while 42:



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Окт. 26, 2019 10:16:52)

Офлайн

#8 Окт. 26, 2019 12:07:28

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Помогите с задачей, запутался в циклах

AD0DE412
завидуете моему стилю вам должно быть стыдно
:) Вы совершенно правы, ваш стиль вызывает гораздо больше чувств чем мой.

Мне уже крайне стыдно.
Топик стартеру будет крайне больно когда преподаватель его спросит почему 42!



Офлайн

#9 Окт. 26, 2019 18:18:35

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Помогите с задачей, запутался в циклах


ответ прост потомушта 6 * 9 = 42



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Окт. 26, 2019 18:23:21)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version