Arti0mka / Projekt1pository

This my new repository. :) Ha-ha ha
0 stars 0 forks source link

перенос функции draw_board #13

Closed ihsinme closed 3 years ago

ihsinme commented 3 years ago

необходимо что бы в tele.py можно было использовать функции из ADD file.py. для этого нужно их скопировать в файл tele и попробывать запустить. берем первую функцию и по команде tt выполняем ее.

вот оригинальная функция.

board = list(range(1,10))

def draw_board(board):
    print ("-" * 13)
    for i in range(3):
        print ("|", board[0+i*3], "|", board[1+i*3], "|", board[2+i*3], "|")
        print ("-" * 13)

проблема в том что оператор print будет выводить в консоль а не в телеграм канал. поэтому тебе необходимо поменять принт на

bot.send_message

но это потребует еще увеличить параметры в функции

def draw_board(board):
Arti0mka commented 3 years ago

Дядя Сергей я использую команду не tt, а TT

Arti0mka commented 3 years ago

Дядя Сергей поможите увеличить параметры в функции

def draw_board(board):
ihsinme commented 3 years ago
board = list(range(1,10))

def draw_board(board,bot,message):
    bot.send_message(message.from_user.id, "-" * 13)
    for i in range(3):
        bot.send_message(message.from_user.id,"|"+ str(board[0+i*3])+ "|"+ str(board[1+i*3])+ "|"+ str(board[2+i*3])+ "|")
        bot.send_message(message.from_user.id, "-" * 13)    

я бы поробывал что то такое, потом посмотрел ошибки и подправил. особо обрати внимание

         print ("|", board[0+i*3], "|", board[1+i*3], "|", board[2+i*3], "|")
        bot.send_message(message.from_user.id,"|"+ str(board[0+i*3])+ "|"+ str(board[1+i*3])+ "|"+ str(board[2+i*3])+ "|")

на эту замену тут и формат строки тоже изменен посмотри подумай почему так.

на будущее присылай как ты делал и задавай вопрос более точечно-конкретно.

ihsinme commented 3 years ago

время идет нужно двигаться дальше

жду от тебя вопросов или решений

Arti0mka commented 3 years ago

Дядя Сергей подскажите пожалуйста как убрать ошибку тут

for i in range(3): 
ihsinme commented 3 years ago

скопируй больше информации

  1. текст ошибки
  2. код который ты вставил.
Arti0mka commented 3 years ago
board = list(range(1,10))

def draw_board(board,bot,message):
        bot.send_message(message.from_user.id, "-" * 13)
    for i in range(3):                                                                         
        bot.send_message(message.from_user.id,"|"+ str(board[0+i*3])+ "|"+ str(board[1+i*3])+ "|"+ str(board[2+i*3])+ "|")
        bot.send_message(message.from_user.id, "-" * 13)    
    else:     
Arti0mka commented 3 years ago
File "/workspace/Projekt1pository/tele.py", line 30
    for i in range(3):                                                                         
                                                                                              ^
IndentationError: unindent does not match any outer indentation level
ihsinme commented 3 years ago
def draw_board(board,bot,message):
    bot.send_message(message.from_user.id, "-" * 13)
    for i in range(3):                                                                         
        bot.send_message(message.from_user.id,"|"+ str(board[0+i*3])+ "|"+ str(board[1+i*3])+ "|"+ str(board[2+i*3])+ "|")
        bot.send_message(message.from_user.id, "-" * 13)        

посмотри в чем разница у тебя и уменя. смещения в твоем случае у первой строки функции 8 пробелов у второй 4 и компилятор давольно логично (на английском говорит что 2 срока не соответствует уровню отступа). фактически отступ это как begin end в паскале и если ты сделал 8 то должен делать 8 или больше.

я исправил так я сделал 4 для функции и еще 4 для for. ниже я напишу как этот код выглядел бы в паскале. сразу скажу что он не рабочий и только для понимания.

def draw_board(board,bot,message):
begin
    bot.send_message(message.from_user.id, "-" * 13)
    for i in range(3):
    begin                                                                         
        bot.send_message(message.from_user.id,"|"+ str(board[0+i*3])+ "|"+ str(board[1+i*3])+ "|"+ str(board[2+i*3])+ "|")
        bot.send_message(message.from_user.id, "-" * 13)
    end
end        
ihsinme commented 3 years ago

в коде у тебя есть еще ошибка с else, я думаю ты ее ошибочно прихватил при обработке в телеграм боте.

Arti0mka commented 3 years ago

да я случайно

ihsinme commented 3 years ago

в коде у тебя есть еще ошибка с else, я думаю ты ее ошибочно прихватил при обработке в телеграм боте.

да я случайно. надо писать так.

  1. три точки на моем сообщении
  2. quote replay
Arti0mka commented 3 years ago

Дядя Сергей я сделал, но у меня когда ввожу боту, то выдаёт ошибку.

elif message.text == "TT":
        def draw_board(board,bot,message):
         bot.send_message(message.from_user.id, "-" * 13)
    for i in range(3):                                                                         
         bot.send_message(message.from_user.id,"|"+ str(board[0+i*3])+ "|"+ str(board[1+i*3])+ "|"+ str(board[2+i*3])+ "|")
         bot.send_message(message.from_user.id, "-" * 13)   
ihsinme commented 3 years ago

ты меня вообще не слушаешь.

  1. выше я говорил про отступы у тебя опять for левее def.
  2. но ошибка еще и в том что функцию надо описывать выше и вызывать потом. не спеши подумай.

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

Arti0mka commented 3 years ago
elif message.text == "TT":
        def draw_board(board,bot,message):
         bot.send_message(message.from_user.id, "-" * 13)
        for i in range(3):                                                                         
         bot.send_message(message.from_user.id,"|"+ str(board[0+i*3])+ "|"+ str(board[1+i*3])+ "|"+ str(board[2+i*3])+ "|")
         bot.send_message(message.from_user.id, "-" * 13)  

Так

ihsinme commented 3 years ago

ты меня вообще не слушаешь.

  1. выше я говорил про отступы у тебя опять for левее def.
  2. но ошибка еще и в том что функцию надо описывать выше и вызывать потом. не спеши подумай.

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

Arti0mka commented 3 years ago

1)Надо что нибудь изменять в строках? 2)Правильная функция?

bot.send_message(message.from_user.id,"|"+ str(board[0+i*3])+ "|"+ str(board[1+i*3])+ "|"+ str(board[2+i*3])+ "|")
         bot.send_message(message.from_user.id, "-" * 13)
ihsinme commented 3 years ago

1)Надо что нибудь изменять в строках? 2)Правильная функция?

bot.send_message(message.from_user.id,"|"+ str(board[0+i*3])+ "|"+ str(board[1+i*3])+ "|"+ str(board[2+i*3])+ "|")
        bot.send_message(message.from_user.id, "-" * 13)

ну во первых функция должна начинаться у края листа со слова деф и имени функции во вторых ты должен понимать что ты хочешь написать)