Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.96/55: Рейтинг темы: голосов - 55, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 13.10.2021
Сообщений: 9

Задача игра в слова

13.10.2021, 12:52. Показов 13742. Ответов 21

Студворк — интернет-сервис помощи студентам
Второй день бьюсь над задачей, которая скорее всего решается в пару строк.
Подскажите хоть направление куда копать. Сама задачка:
Петя и Вася играют в игру слова по таким правилам: новое слово должно начинаться на последнюю букву предыдущего и быть на одну букву длиннее предыдущего.
Вывод должно быть число сколько продлилась цепочка.
Например: йц цук кен фывфыв
Вывод: 3
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.10.2021, 12:52
Ответы с готовыми решениями:

Задача "Игра в слова"
Есть два игрока - Артем и Борис. Дан определенный набор слов, состоящий только из букв a, b и c. Сначала Артем называет некоторый город,...

Как сделать чтоб игра продолжалась до тех пор пока все слова не будут угаданы и предлагаемые слова не повторялись
#include <iostream> #include <string> #include <cstdlib> #include <ctime> using namespace std; //Выбор слова дnя перемешивания...

Задача такая: ввести слова, создать из них хэш таблицу, все слова на одну букву помещаются в одну строку таблицы, вывести эти слова
Если не знаете, как это сделать поясните хотя бы что такое хэш таблица, как ее создать, что такое ключи в хэш таблице и как их использовать.

21
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
13.10.2021, 12:59
почему ответ 3?
0
0 / 0 / 0
Регистрация: 13.10.2021
Сообщений: 9
13.10.2021, 13:03  [ТС]
Согласно условию, последнее слово не удовлетворяет условиям.
Выводит сумму количества слов прошедших условия.
В данном примере 3.
фы ыва апро олджэ ене < --- тут будет вывод верный 4
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
13.10.2021, 13:10
йц цук кен фывфыв
Тут какая цепочка?
0
0 / 0 / 0
Регистрация: 13.10.2021
Сообщений: 9
13.10.2021, 13:19  [ТС]
1. каждое следующее слово начинается на последнюю букву;
2. каждое следующее слово длиннее предыдущего на 1 букву.
надо соответствовать двум условиям.

Цитата Сообщение от eaa Посмотреть сообщение
йц цук кен фывфыв
Тут какая цепочка?
тут я немного неправильно написал сам, должно быть :

йЦ ЦуК КенГ Фывфыв # выдедлил буквы
2 3 4 6 # количесво знаков

Вывод из верней строчки будет 3 (количество слов удовлетворяющих условию)

Добавлено через 1 минуту
В голове вертиться чтото такое :


input() [-1] == input() [0]

len(input() + 1) == len(input())

но как это реализовать не пойму, скорее всего как-то через while и if.
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
13.10.2021, 13:23
ладно это понятно. какие ограничения на в задаче есть?
0
0 / 0 / 0
Регистрация: 13.10.2021
Сообщений: 9
13.10.2021, 13:43  [ТС]
Это все условие, больше ничего не указано.
0
10 / 10 / 0
Регистрация: 07.10.2016
Сообщений: 196
13.10.2021, 14:51
ну так задайте счётчик равный 1, далее цикл, пока условие выполняется счётчик +1, если условие не выполнилось выводим результат счётчика.
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
13.10.2021, 14:58
Python
1
2
3
4
5
6
7
a = 'йЦ ЦуК КенГ Фывфыв'.split()
for i in range(1, len(a)):
    if not len(a[i]) - len(a[i - 1]) == 1 or a[i][0] != a[i - 1][-1]:
        print(i)
        break
else:
    print(len(a))
Добавлено через 26 секунд
Мне кажется, что как то так, но проверять на масс тестах я не хочу.
0
0 / 0 / 0
Регистрация: 13.10.2021
Сообщений: 9
13.10.2021, 15:09  [ТС]
Спасибо конечно за решение, но
Цитата Сообщение от enx Посмотреть сообщение
'йЦ ЦуК КенГ Фывфыв'
вот это я написал в качестве примера, все эти данные будут input().
Т.е. они не даны заранее, нужно самому вводить.
Если есть идеи еще напиши !
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
13.10.2021, 15:11
Лучший ответ Сообщение было отмечено tomeandrew как решение

Решение

tomeandrew, это не смешно...


Python
1
2
3
4
5
6
7
a = input().split() # a = 'йЦ ЦуК КенГ Фывфыв'.split()
for i in range(1, len(a)):
    if not len(a[i]) - len(a[i - 1]) == 1 or a[i][0] != a[i - 1][-1]:
        print(i)
        break
else:
    print(len(a))
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
13.10.2021, 15:12
"жадина" даст неправильный ответ.
группируешь все слова по длине, а потом перебираешь.
0
0 / 0 / 0
Регистрация: 13.10.2021
Сообщений: 9
13.10.2021, 15:17  [ТС]
О, это почти что нужно!
А как сделать чтобы вводить не в строчку, а каждое новое слово с новой строчки?
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
13.10.2021, 15:24
tomeandrew, если не секрет, где это задание тебе дали? А чтобы сделать то, что ты хочешь нужно выбрать один из 4 самым популярных вариантов.

1. У тебя известно, сколько будет слов?
2. sys знаком?
3. open(0)
4. iter(input,'sentinel')

Уточни свой вопрос.

Добавлено через 3 минуты
Просто если твоя задача - сделать аналог игры в слова, например из консоли, где условный пользователь 1 и пользователь 2 по очереди вводят слова - так и пиши, там нужна другая конструкция.
0
0 / 0 / 0
Регистрация: 13.10.2021
Сообщений: 9
13.10.2021, 15:33  [ТС]
Задание с курсов, пока пройдено if_else_while_and_or_not.
Вроде как зная выше изложенное я должен решить задачку.
Сама тема в которой дается задание это итог по теме while.
Цитата Сообщение от enx Посмотреть сообщение
Просто если твоя задача - сделать аналог игры в слова, например из консоли, где условный пользователь 1 и пользователь 2 по очереди вводят слова - так и пиши, там нужна другая конструкция.
Так и есть.
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
13.10.2021, 15:44
tomeandrew, а зачем ты тогда тратишь время людей просто так, придумывая последовательности, строки и тд? собственно на этом я все....дальше гугл, 'python игра в слова через цикл while'.
1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
13.10.2021, 15:48
полный текст задачи как звучит?
0
0 / 0 / 0
Регистрация: 13.10.2021
Сообщений: 9
13.10.2021, 15:50  [ТС]
Игра в слова
Петя и Вася играют в слова по усложненным правилам: новое слово должно начинаться на последнюю букву предыдущего и быть на одну букву длиннее предыдущего. Напишите программу, которая печатает длину цепочки слов, составленной в ходе этой игры.
ФОРМАТ ВВОДА
Слова для игры, каждое на новой строке. Ввод заканчивается, когда новое условие не удовлетворяет правилам игры.
ФОРМАТ ВЫВОДА
Целое положительное число — длина цепочки слов, полученной в ходе игры.
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
13.10.2021, 15:59
это совсем другая задача, эта решается за пару минут и пару строк кода.
учитесь правильно задавать вопросы.
1
0 / 0 / 0
Регистрация: 13.10.2021
Сообщений: 9
13.10.2021, 16:00  [ТС]
Решил вот так, все тесты проходит. Всем спасибо что уделили время!

s = 1
while True:
s1 = input()
s2 = input()
if s1 [-1] == s2 [0] and len(s1) + 1 == len(s2):
s +=2
else:
break
print(s)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.10.2021, 16:00
Помогаю со студенческими работами здесь

Игра "В слова": называть слово, начинающееся на последнюю букву слова названного соперником
Разработать программу, позволяющую игроку выбрать тему игры (например, города, растения, животные, имена, все слова и т.д.) и затем играть,...

Игра в Слова
Помогите пожалуйста, дали программку сделать, а я без понятия как Игра &quot;в слова&quot;. Программа выбирает слово и рисует столько...

Игра в слова
Как написать код чтобы компьютер мог генерировать слова(а не символы случайные) и затем сохранял в файле их.

Игра в слова
«Игра в слова». Играют двое. Первый игрок загадывает слово и вводит его в программу с клавиатуры. Программа рисует в центре (по высоте и...

Игра в слова
Не могу понять в чём проблема. Помогите исправить пожалуйста. using System; using System.Collections.Generic; using System.IO; ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru