ilyabugaets
@ilyabugaets
недо программист

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

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

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