@xxxfdd

Как сделать тут такой алгоритм?

Не получается подобрать алгоритм чтобы код записывал не вот так в ответе по отдельности ( Имя: ВасЯ), user_name: hev, Телефон: None Товар: Банан- 1шт,
0) Имя: ВасЯ), user_name: hev, Телефон: None Товар: Банан - 1шт,
0) Имя: ВасЯ), user_name: heve, Телефон: None Товар: Йо-Йо - 1шт,
0) Имя: ВасЯ), user_name: heve, Телефон: None Товар: Человечек - 1шт,
0) Имя: ВасЯ), user_name: heve, Телефон: +799999999 Товар: Яблоко - 1шт, )
а чтобы протсо вот так вот Имя: ВасЯ) user_name : hev , Телефон : 799999999 Банан 3шт , Йо-Йо1 шт, Человечек 1шт,

вот код
back = ''


back_result = cur.execute(
                    "SELECT name, user_name, prodect, phone, COUNT(*) quantity FROM orders GROUP BY  user_name, prodect, phone").fetchall()

count = 0
for name, user_name, prodect, phone, quantity in back_result:

        back = back + f" {c}) Имя: {name}, user_name: @{user_name}, Телефон: {phone} Товар: {prodect} - {quantity}шт, "
        back = back + '\n'


print(back)
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
@soloveid
Ну должна быть следующая логика:
завести переменные
prevName, prevUserName, prevPhone
prodetcs = ""
в вашем цикле for
- получить name, user_name, phone
- если хоть один их них отличается от значений в предыдущей строке (prevName, prevUserName, prevPhone), то
-- выводите prodetcs если он не пустой (ну и всю информацию prevName, prevUserName, prevPhone)
-- prevName = name, prevUserName = userName, prevPhone=phone, prodetcs=""
- если полностью совпадают, то prodetcs = prodetcs + {prodect} - {quantity}шт

После цикла так же вывести строку если prodetcs не пустой
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы