Lolik666
@Lolik666
Лох педальный, профессиональный

Как показать два разных значения из друх разных словарей (в боте дискорда)?

вобщем, делаю я код:
import discord
from discord.ext import commands
from discord.ext import tasks
from time import time, localtime

user_counter = {}

user_kolvo = {}


msg = 'Статистика:\n'


client = commands.Bot( command_prefix = '-')



@tasks.loop(seconds=20)
async def timer_notify():
    await client.wait_until_ready()
    cur_time = localtime(time())
    my_channel = client.get_channel(734611425368211457)
    for user_id,counter in user_counter.items():
        user = client.get_user(user_id)
        global msg
        msg = msg+' >> ' + user.name + ': ' + str(counter) + ' подходов' + ' | ' + str(kolvo) + ' раз' + '\n'
    await my_channel.send(msg)
    msg = 'Статистика:\n'

И я столкнулась с проблемой, что в строке
msg = msg+' >> ' + user.name + ': ' + str(counter) + ' подходов' + ' | ' + str(user_kolvo.values()) + ' раз' + '\n'

я не могу показать и str(counter) и str(kolvo) потому что работаю только в одном словаре (я же не могу написать
for user_id,counter in user_counter.items() and user_id,kolvo in user_kolvo.items()
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
for user_id,counter in user_counter.items():
  ...
  msg += "Ой, а вот у **%s** целых %d подходов %d раз" % (user.name, counter, user_kolvo[user_id])

Или даже так:

for user_id in user_counter:
  ...
  msg += "Ой, а вот у **%s** целых %d подходов %d раз" % (user.name, user_counter[user_id], user_kolvo[user_id])

А вообще если по юзеру хранится сразу несколько показателей, то возможно уже пора хранить не числа в нескольких масстивах, а целые словари в одном:

user_data[user_id] = { "counter": число, "quantity": число, "birthday": "32.05.1700" }
...
for user_id in user_data:
  msg += "Ой, а вот у **%s** целых %d подходов %d раз" % (user.name, user_data[user_id]["counter"], user_data[user_id]["quantity"])
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Так а что сделать то нужно? Почему нельзя использовать значения из другого словаря? Почему нельзя сделать два цикла? ничего не понятно
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы