При логическом сравнении >= ;<=; код выдаёт ошибку что числа и слова не сравниваются.

Tooman

Новичок
Пользователь
Мар 11, 2025
1
0
1
Код нужно вставлять как код - https://itfy.org/threads/kak-ne-nado-zadavat-voprosy.3450/post-13566
На 55-60 строчке идёт логическое сравнение и пайтон выдаёт ошибку хотя в файле находятся цифры

import telebot
import random
import telebot
from telebot import types
import time
BOT_TOKEN = 'такой-то'

bot = telebot.TeleBot(BOT_TOKEN)
with open('stav.txt', 'r+', encoding='utf-8') as f:
stavka = f.read()

sypStavka = 18

@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
mess = 'Привет, Напиши /menu, чтобы начать.'
bot.reply_to(message, mess)

@bot.message_handler(commands=['menu','назад'])
def start(message):
mess = 'бла бла'
markup = types.ReplyKeyboardMarkup(resize_keyboard=True,row_width=2)
help = types.KeyboardButton('/Кинуть_кость')
start = types.KeyboardButton('/Пользовательское_соглашение')
delite = types.KeyboardButton('/ставка')
premium = types.KeyboardButton('/премиум')
markup.add(start, help,delite,premium)
bot.send_message(message.chat.id, mess, reply_markup=markup)

@bot.message_handler(commands=['ставка'])
def throw_dice(message):
mess = 'Настрой ставку здесь!'
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
help = types.KeyboardButton('/Изменить_ставку')
start = types.KeyboardButton('/назад')
delite = types.KeyboardButton('/Какая_ставка?')
markup.add( help, delite, start)
bot.send_message(message.chat.id, mess, reply_markup=markup)

@bot.message_handler(commands=['Какая_ставка?'])
def throw_dice(message):
stav = f"Ставка: {stavka}\nСупер ставка: {sypStavka}"
bot.send_message(message.chat.id, stav )

@bot.message_handler(commands=['Кинуть_кость'])
def throw_dice(message):
dice1 = bot.send_dice(message.chat.id, emoji="🎲")
dice2 = bot.send_dice(message.chat.id, emoji="🎲")
dice3 = bot.send_dice(message.chat.id, emoji="🎲")

value1 = dice1.dice.value
value2 = dice2.dice.value
value3 = dice3.dice.value
win = 'Вы выйграли!!!'
lose = 'Лузер'
jac = 'Ждекпот!!!!!'


result_message = f"Выпало: \nПервая кость: {value1}\nВторая кость: {value2}\nТретья кость: {value3}\nСумма: {value1 + value2 + value3}"
bot.send_message(message.chat.id, result_message)
sym = value1 + value2 + value3
print(sym)
print(stavka)

if sym <= stavka :
bot.send_message(message.chat.id, lose)
elif sym >= stavka and sym >sypStavka:
bot.send_message(message.chat.id, win)
elif sym == sypStavka:
bot.send_message(message.chat.id, jac)

@bot.message_handler(commands=['Изменить_ставку'])
def handle_message(message):
msg = bot.send_message(message.chat.id,'Напишите в чат ставку',parse_mode='html')
bot.register_next_step_handler(msg, three_wr_q)
def three_wr_q(message):
with open('stav.txt', 'w+', encoding='utf-8') as f:
data = message.text
f.write(data)

bot.polling(none_stop=True)
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
454
126
43
На 55-60 строчке идёт логическое сравнение и пайтон выдаёт ошибку
и правильно делает, ведь в python 3.x нельзя сравнивать числа со строками.
 

Форум IT Специалистов