Ќазаќстан Республиксыныњ Білім жєне ѓылым министрлігі
Download 1.04 Mb.
|
Исмоилов Бекзод
- Bu sahifa navigatsiya:
- 2.2 Программа кұру және нәтижесін алу
Бұл жерде біз жаратқан чаттың ең алғашқы қадамы болады. Бізді «Онлайн чатқа қош келдіңіз!бұл чаттың бастапқы коды 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'])) 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]}")) 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 тіліне ұқсас болып келеді. Мысалы кодты бір рет ғана жазып қоюға болады және бағдарламаны өзгертпей, сақтап қою арқылы кейінірек кез келген компьютерге өткізіп іске қосуға болады. ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР PYTHON-ДА БАҒДАРЛАМАЛАУДА БАҒДАРЛАМАЛАУ Сатмаганбетова Ж.З Галиханов С.Г Django 2.1 Практика СОЗАаНИЯ веб-сайтов на Python Владимир Дронов https://progler.ru/blog/3d-grafiki-konusa-s-ispolzovaniem-plotly-v-python 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: |
ma'muriyatiga murojaat qiling