Shu paytgacha biz o’zgaruvchilarning qiymatini dasturning ichida berayotgan edik. Keling endi qiymatni o’zimiz emas, balki dastur foydalanuvchilariga kiritish imkonini beramiz. Buning uchun input() funktsyasidan foydalanamiz. ism = input(“Ismingiz nima?”) print(“Assalom alaykum, ” + ism) Yuqor.
Python 167
6. PYTHONDA MA’LUMOT TO’PLAMLARI VA TURLARI
RO’YXAT(LIST) BILAN ishlash Avvalgi mavzuimizda biz o’zgaruvchi yaratish, va uning ichida biror qiymatni (matn yoki son) saqlashni o’rgandik. Bunda biz bitta o’zgaruvchiga bitta qiymat berdik xolos. Bugun o’rganadigan navbatdagi mal’umot turi Ro’yxar (List) deb ataladi. Ro’yxat.
Python 110
Chiziqli dasturlar – bu hisoblar qat’iy ketma-ketlikda bajariladigan dasturlar. 1-topshiriq. A va b ikkita son berilgan. Ularning qiymatlari o’rni almashtirish amali bajarilsin. Masalani qo’yilishi: Ba’zi bir qiymatlarga ega.
Python 298
8. Pythonda shart operatorlari
Masalalarni echishda eng muhim elementlardan biri bu “shart” deb nomlangan va bu “agar to’g’ri borsang, boshingni yo’qotasan, to’g’ri ketasan va otingni yo’qotasan. ” yoki ko’proq oddiygina vaziyat “agar. bo’lsa”. aks holda. Agar “Shart” blokida ko’rsatilgan shart bajarilsa, “YES shart” ga (.
Python 1236
9. Pythonda siklik operatorlar.
Takrorlanuvchi algoritm yoki dasturning bir necha marta (shu jumladan nol marta) takrorlanishi mumkin bo’lgan qismidir. Har bir siklik tashkil etuvchilar sikl sarlavhasi bilan boshlanadi va yakuniy tasdiq bilan tugaydi. Ularning orasida “sikl tanasi” deb nomlangan operatorlar mavjud. .
Pythonda Telegram botini yaratish bo’yicha ko’rsatmalar
O’z robotingizni olishning bir nechta variantlari mavjud:
O’zingiz yozing. Buning uchun turli xil dasturlash tillaridan foydalanishingiz mumkin. Hozirgi kunda eng tushunarli va ommaboplardan biri bu Python. Ushbu usul ko’p vaqt talab qiladigan bo’lsa-da, lekin ayni paytda siz universal echimni topishga imkon beradi.
Dizaynerning xizmatlaridan foydalaning. Ammo bu erda siz cheklangan funktsiyaga duch kelishingiz mumkin, bu har doim ham tarjima qilish uchun etarli emas.
Xarid qilish. Biroq, siz asosan telebot yozish uchun python ishlatilishini tushunishingiz kerak. Va bu juda oson deb hisoblanadi, hatto yangi boshlanuvchilar ham undan foydalanishlari mumkin.
O’z-o’zini o’rganish va muayyan qoidalarga muvofiq ishlashi mumkin bo’lgan 2 turdagi botlar mavjud:
Birinchi tur kamroq tarqalgan. Robot ma’lum qoidalar asosida o’qitiladi, ularning asosida u berilgan savollarga javob beradi. Bot oddiy so’rovlarni bajaradi va murakkab bo’lganlar qiyinchiliklarga olib kelishi mumkin.
O’z-o’zini o’rganish roboti samaraliroq. Bu sodir bo’ladi:
qidirish – javob uchun kutubxona ma’lumotlar bazasida ro’yxatga olingan nusxalarni ishlatadi. Suhbatning mazmuniga qarab, u ro’yxatdan matnni tanlaydi;
generativ – so’rovda o’rganilgan so’zlar asosida xabarlar yarata oladi.
Quyida biz GlobatTimeUz Telegram Bot yaratamiz.
Botimiz nomi GlobalTimeUz hisoblanadi. Botning maqsadi 12 ta tanlangan mamlakatlardagi vaqtlarni ko’rsatadi. Botdagi mamlakatlarni yana kengaytirish mumkin, albatda vaqt mintaqasini tanlagan holda.
Birinchi navbatda BotFather yordamida bot yaratiladi va uning tokini dastur kodiga nusxalanadi:
Bot tomonidan berilgan API TOKEN kodga biriktirladi va ishga tushiriladi.
import telebot
import datetime
from telebot import types
# Telegram botning API tokeni
TOKEN = '6045280392:AAFvx_v-P0rl0MsQaCdO2kNrrG9QUDQpz28'
bot = telebot.TeleBot(TOKEN)
# Davlat nomlarini va ularga mos keladigan vaqtlarni lug'atda saqlaymiz
countries = {
"o'zbekiston": 5,
"russia": 3,
"aqsh": -4,
"turkiya": 3,
"korea": 9,
"xitoy": 8,
"qozog'iston": 5,
"eron": 2,
"fransiya": 2,
"yangi zellandiya": 12,
"salvador": 6,
"partugaliya": 0
}
# O'xshash davlatlarni o'zaro bog'lash uchun o'zgaruvchi
previous_country = None
@bot.message_handler(commands=['start'])
def start(message):
chat_id = message.chat.id
response = "Assalomu alaykum! Botimizga xush kelibsiz.\n Botdan foydalanish uchun /get_time buyrug'ini kiriting!"
bot.send_message(chat_id, response)
@bot.message_handler(commands=['get_time'])
def get_time(message):
chat_id = message.chat.id
# Menyu tugmasini yaratamiz
keyboard = types.InlineKeyboardMarkup()
# Davlatlar ro'yxatini menyuga qo'shamiz
for country in countries:
# Davlat nomi bilan tugma yaratamiz
button = types.InlineKeyboardButton(text=country.upper(), callback_data=country)
keyboard.add(button)
# Menyuni foydalanuvchiga yuboramiz
bot.send_message(chat_id, "Davlatni tanlang:", reply_markup=keyboard)
@bot.callback_query_handler(func=lambda call: True)
def handle_callback(call):
global previous_country
chat_id = call.message.chat.id
country = call.data
if country in countries:
time_difference = countries[country]
# Hozirgi vaqt objektini olamiz
now = datetime.datetime.utcnow()
# Tanlangan davlatning vaqtini hisoblaymiz
country_time = now + datetime.timedelta(hours=time_difference)
# Vaqtni soat, minut va sekundlar ko'rinishida tayyorlaymiz
hours = country_time.hour
minutes = country_time.minute
seconds = country_time.second
response = f"{country.capitalize()}da hozir {hours}:{minutes}:{seconds} vaqti."
# Oldingi davlat bilan bog'liq chiqqan natijalarni o'chiramiz
if previous_country:
bot.delete_message(chat_id, previous_country.message_id)
# Joriy natijani saqlash uchun xabar obyektini olamiz
previous_country = bot.send_message(chat_id, response)
else:
response = "Bu davlatni tanlashda xatolik yuz berdi. Iltimos, qaytadan urinib ko'ring."
bot.send_message(chat_id, response)
bot.polling()
N ATIJALAR
Dostları ilə paylaş: |