Задать вопрос

Почему цикл while не останавливается?

Цикл while должен остановиться когда пользователь напишет "Стоп", но почему-то оно не останавливается
import telebot
import config
import random
import time
import pyowm
import datetime
import calendar

from telebot.types import InlineKeyboardMarkup, InlineKeyboardButton
from random import choice
from telebot import types

School = ["Физ-ра\nРусский\nАнглийский\nИстория\nФизика\nАлгебра\nГеометрия",
          "Иформатика\nГеография\nФиз-ра\nМузыка\nРусский\nЛитература\nОБЖ",
          "Физ-ра\nХимия\nАлгебра\nРусский\nРусский\nГеография",
          "Биология\nИстория\nТруд\nОбщество\nЛитература\nАнглийский",
          "Химия\n Английский\nАлгеьра\nГеометрия\nФизика\nБиология\nАлгебра", "Выходной"]

today = datetime.datetime.today()

mydate = today.strftime("%d.%m.%Y")

workdate = datetime.datetime.strptime(mydate, "%d.%m.%Y")
day = calendar.day_abbr[workdate.date().weekday()]

abcd = False
testpy = False

schedule = "1. с 8.00 до 8.45\n2. с 8.50 до 9.35\n3. с 9.40 до 10.25\n4. с 10.40 до 11.25\n5. с 11.30 до 12.15\n6. с 12.20 до 13.05\n7. с 13.25 до 14.10 "

owm = pyowm.OWM(config.owmm, language="ru")

observation = owm.weather_at_place(config.place)
w = observation.get_weather()

temp = w.get_temperature('celsius')["temp"]

adv = ['В разработке']
Creator = "Меня создал Илья Бугаец"
groups = ['Создатель', 'Модер', 'Помощник', 'Смертный']

bot = telebot.TeleBot(config.TOKEN)

def schoolmenu(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    item1 = types.KeyboardButton("Уроки")
    item2 = types.KeyboardButton("Расписание Звонков")
    item3 = types.KeyboardButton("Назад")
    markup.add(item1, item2, item3)
    bot.send_message(message.chat.id, "Выбери", reply_markup=markup)

def glmenu(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    item1 = types.KeyboardButton("☁️Погода☁️")
    item2 = types.KeyboardButton("Создатель")
    item3 = types.KeyboardButton("Школа")
    item5 = types.KeyboardButton("Время")

    markup.add(item1, item2, item3, item5)

    bot.send_message(message.chat.id, "Выбери", reply_markup=markup)


def menu_creator(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    item1 = types.KeyboardButton("Вк")
    item2 = types.KeyboardButton("Телеграм")
    item3 = types.KeyboardButton("Назад")
    markup.add(item1, item2, item3)
    bot.send_message(message.chat.id, "Выбери", reply_markup=markup)


@bot.message_handler(commands=['start'])
def welcome(message):
    bot.send_message(message.chat.id, "Привет")
    glmenu(message)


@bot.message_handler(commands=['help'])
def welcome_help(message):
    bot.send_message(message.chat.id, Creator)


@bot.message_handler(content_types=['text'])
def check(message): 
    if message.text == "Время":
        timeH = datetime.datetime.now().time()
        bot.send_message(message.chat.id, timeH)
        timeml(message)
    elif message.text == "☁️Погода☁️":
        bot.send_message(message.chat.id,
                          "В судаке сейчас " + w.get_detailed_status() + "\n" + "Температура в районе " + str(temp))
    elif message.text == "Создатель":
        menu_creator(message)
    elif message.text == "Вк":
    	bot.send_message(message.chat.id, "https://vk.com/ilyabugaets")
    elif message.text == "Телеграм":
    	bot.send_message(message.chat.id, "https://t.me/IlyaBugaec")
    elif message.text == "Уроки":
        if day == "Mon":
            bot.send_message(message.chat.id, School[0])
        elif day == "Tue":
            bot.send_message(message.chat.id, School[1])
        elif day == "Wed":
            bot.send_message(message.chat.id, School[2])
        elif day == "Thu":
            bot.send_message(message.chat.id, School[3])
        elif day == "Fri":
            bot.send_message(message.chat.id, School[4])
        elif day == "Sun":
            bot.send_message(message.chat.id, School[5])
        elif day == "Sat":
            bot.send_message(message.chat.id, School[5])
    elif message.chat.type == 'private' and message.text == "Расписание Звонков":
        bot.send_message(message.chat.id, schedule)
    elif message.text == "Назад":
    	glmenu(message)
    elif message.text == "Школа":
    	schoolmenu(message)
    elif message.text == "Стоп":
    	i1 = "0"


def timeml(message):
	i1 = "1"
	bb2 = 0
	while i1 == "1":
		print(bb2)
		bb2 = 1 + bb2

bot.polling(none_stop=True)
  • Вопрос задан
  • 836 просмотров
Подписаться 1 Простой 7 комментариев
Решения вопроса 1
i1 не меняется, цикл не прекращается.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@DaZy4
Для того чтобы остановить цикл нужно если случится <<<что-то>>> то цикл должен прекратится например:
While True:
I += 1
If I == 10:
Break
Ответ написан
Комментировать
@yurikk
Сетевой админ
А где здесь изменение переменной, чтобы while прекратить?
Я вижу только первое присваивание и все
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект