Ќазаќстан Республиксыныњ Білім жєне ѓылым министрлігі


Download 1.04 Mb.
bet5/5
Sana26.02.2023
Hajmi1.04 Mb.
#1232114
TuriПрограмма
1   2   3   4   5
Bog'liq
Исмоилов Бекзод



Бұл жерде біз жаратқан чаттың ең алғашқы қадамы болады.
Бізді «Онлайн чатқа қош келдіңіз!бұл чаттың бастапқы коды 100 жолға сәйкес келеді!» халарлама күтеді. Біз чатқа қосылар алдында өз есімізіді жазамыз. Егер біз кіріткен есім чатда болатын болса бізге «Мұндай есiм қазір қолданда бар!» хабарламасы шығады. Біз кіріткен есім егер жоқ болатын болса «{nickname}' чатқа қосылды!» хабарламасы шығады.



data = await input_group коды жаңа хабарлама жазу үшін орын, input арқылы хабарлама мәтіні жазылады, хабарлама жазылған соң buttons функциясы арқылы жіберу және чаттан шығу түймелері басылады.


2.2 Программа кұру және нәтижесін алу


from pywebio import start_server


from pywebio.input import *
from pywebio.output import *
from pywebio.session import run_async, run_js

import asyncio


chat_msga = []


online_users = set()

MAX_MESSAGES_COUNT = 100


async def main():


global chat_msga

put_markdown("## Онлайн чатқа қош келдіңіз!бұл чаттың бастапқы коды 100 жолға сәйкес келеді!")


msg_box = output()


put_scrollable(msg_box, height = 300, keep_botton = True)

nickname = await input("Чатқа кіру", required=True, validate=lambda n: "Мұндай есiм қазір қолданда бар!" if n in online_users or n == 'X' else None)


online_users.add(nickname)

chat_msga.append((f"'{nickname}' чатқа қосылды!"))


msg_box.append(put_markdown(f"'{nickname}' чатқа қосылды!"))

reflesh_task = run_async(reflesh_msg(nickname, msg_box))


while True:


data = await input_group("Жаңа хабарлама", [
input(placeholder="Хабарлама мәтіні", name="msg"),
actions(name="cmd", buttons=["жіберy",{'label':"Чаттан шығу", 'type':'cancel'}])
], validate=lambda n:('msg', "Хабарлама мәтінін енгізіңіз!") if n["cmd"] == "Жіберу" and not n["msg"] else None)

if data is None:


break

msg_box.append(put_markdown(f"'{nickname}' : {data['msg']}"))


chat_msga.append((nickname,data['msg']))

# exit chat


reflesh_task.close()

online_users.remove(nickname)


toast("чаттан кетті!")
msg_box.append(put_markdown(f" Пайдаланушы '{nickname}' чаттан кетті!"))
chat_msga.append(f" Пайдаланушы '{nickname}' чаттан кетті!")
async def reflesh_msg(nickname,msg_box):
global chat_msga
last_idx = len(chat_msga)

while True:


await asyncio.sleep(1)

for m in chat_msga[last_idx:]:


if m[0] != nickname:
msg_box.append(put_markdown(f"'{m[0]}':{m[1]}"))

# remove axpired


if len(chat_msga) > MAX_MESSAGES_COUNT:
chat_msga = chat_msga[len(chat_msga)//2:]

last_idx = len(chat_msga)


if __name__ == "__main__":


start_server(main, debug=True, port=8080, cdn=False)



Қорытынды

Мен Исмоилов Бекзод менің курстық жұмысымның тақырыбы Python-да университет студенттеріне арналған әлеуметтік желі: “Messenger” құрастыру.


Мен бұл жоба арқылы университет студенттеріне арналған жаңа әлеуметтік желі құрастырырамын. Бұл жобаның пайдасы бұл интернет желісі арқалы жұмыс істеп жаддан орын иелемейді. Қазіргі таңда кең таралған және пайдаланушылары көп таралған бағдарламалау тілі болып саналады. Ол үшін ең алдымен осы Python бағдарламалау тілін туралы кітапханалар, теориялар, мәліметтер жинақтап алдым, және оларды курстық жұмысыма қостым. Негізінен Python тілі ABS тіліне ұқсас болып келеді. Мысалы кодты бір рет ғана жазып қоюға болады және бағдарламаны өзгертпей, сақтап қою арқылы кейінірек кез келген компьютерге өткізіп іске қосуға болады.
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР

  1. PYTHON-ДА БАҒДАРЛАМАЛАУДА БАҒДАРЛАМАЛАУ Сатмаганбетова Ж.З Галиханов С.Г

  2. Django 2.1 Практика СОЗАаНИЯ веб-сайтов на Python Владимир Дронов

  3. https://progler.ru/blog/3d-grafiki-konusa-s-ispolzovaniem-plotly-v-python

  4. https://translated.turbopages.org/proxy_u/en-ru.ru.05a6c739-637520cc-37e3c460-74722d776562/https/www.geeksforgeeks.org/making-a-cone-with-vpython/



Download 1.04 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling