SyntaxError: invalid syntax помогите плз не понимаю в чем проблема
Работаю с telebot, во всем коде было все нормально, но вылезла эта ошибка.
Сама строка:
if message.text == '? Кубик':
number = input('Введите число от 1 до 6:')
if number == 6:
bot.send_message(message.chat.id, "Кидаем кубик..." )
random = (random.randint(1,6)
if random != number:
bot.send_message(message.chat.id, "Вы проиграли, выпало число " + str(number) + " чтобы вернуться назад напишите /start" )
if random == number:
bot.send_message(message.chat.id, "Вы выиграли! чтобы вернуться назад напишите /start")
else:
bot.send_message(message.chat.id, "Вы ввели не правильное число!" )
else:
bot.send_message(message.chat.id, 'Я не знаю что ответить ?')
Ошибка:
SyntaxError: invalid syntax (указывает на b в начале)
Ответы (4 шт):
Автор решения: Some_ Person
→ Ссылка
Вы не конкатенировали(сложили) строку, Вы просто написали через пробел ее куски
Попробуйте это:
bot.send_message(message.chat.id, "Вы проиграли, выпало число"+str(number)+"чтобы вернуться назад напишите /start" )
Чтобы сложить строку нужно писать +:
s = "a" "b" # ошибка
s = "a" + "b" # выходит "ab"
У Вас нет табуляции в этом фрагменте:
if random != number:
bot.send_message(message.chat.id, "Вы проиграли, выпало число " + str(number) + " чтобы вернуться назад напишите /start" )
if random == number:
bot.send_message(message.chat.id, "Вы выиграли! чтобы вернуться назад напишите /start")
Должно быть так:
if random != number:
bot.send_message(message.chat.id, "Вы проиграли, выпало число " + str(number) + " чтобы вернуться назад напишите /start" )
if random == number:
bot.send_message(message.chat.id, "Вы выиграли! чтобы вернуться назад напишите /start")
Автор решения: MarianD
→ Ссылка
Добавите + (дважды), т.е вместо
bot.send_message(message.chat.id, "Вы проиграли, выпало число" str(number) "чтобы вернуться назад напишите /start" )
напишите
bot.send_message(message.chat.id, "Вы проиграли, выпало число " + str(number) + " чтобы вернуться назад напишите /start" )
Автор решения: Riangry
→ Ссылка
random = (random.randint(1, 6))
вот тут ты забыл добавить скобку в конце
P.S вторая ошибка фиксится так , у тебя сьехал код иф должен быть на одном уровне с елс
if message.text == '? Кубик':
number = input('Введите число от 1 до 6:')
if number == 6:
bot.send_message(message.chat.id, "Кидаем кубик..." )
random = (random.randint(1,6))
if random != number:
bot.send_message(message.chat.id, "Вы проиграли, выпало число " + str(number) + " чтобы вернуться назад напишите /start" )
if random == number:
bot.send_message(message.chat.id, "Вы выиграли! чтобы вернуться назад напишите /start")
else:
bot.send_message(message.chat.id, "Вы ввели не правильное число!" )
else:
bot.send_message(message.chat.id, 'Я не знаю что ответить ?')
Автор решения: MarianD
→ Ссылка
Вместо
random = (random.randint(1,6)
if random != number:
напишите
random = random.randint(1,6)
if random != number:
(без скобки после =).