УВАГА наведена нижче програма є лише прикладом рівня коду, який ми навчимось ЧИТАТИ ближче до кінця міні–курсу.
Хтось із вас навчиться також ПИСАТИ такого рівня складності програми (що не так і просто, як могло би здатися).
Не все у даній програмі ідельно та оптимально, код наведений суто в навчальних цілях та має ряд недоліків, які ми спробуємо освітити ближче до середини нашої продорожі.
importsysfromrandomimportchoicefromcollectionsimportnamedtupledefstart_game():print("\nЛаскаво Прошу до гри 'Камінь🪨, Ножиці ✂️, Папір📜'\n")print("Гра відбувається до 3 очків.\n")print("Кінець гри — введіть 0\n")Total=namedtuple("Рахунок",["Людина","Комп"])total=Total(0,0)whiletotal[0]<3andtotal[1]<3:you=vvid_hodu()it=computer_hodyt()winner=ocinka_hodu(you[0],it[0])ifwinner[0]=="Людина":total=Total(total[0]+1,total[1])elifwinner[0]=="Комп'ютер":total=Total(total[0],total[1]+1)elifwinner[0]=="Дружба":total=Total(total[0]+0.5,total[1]+0.5)else:it=(-1,"не важливо")message=f"""\ Ваш хід — {you[1]} Його хід — {it[1]}{winner[0]} перемагає{winner[1]}{total} """print(message)iftotal[0]>=3andtotal[1]>=3:print("WIN + WIN")eliftotal[0]>=3:print("\nЛюдина ПЕРЕМОГЛА Комп!!!")eliftotal[1]>=3:print("\nБуває, наступного разу пощастить більше")defvvid_hodu()->tuple[int,str]:hid=input("Ваш хід: ").lower()matchhid:case'0':print("На все добре!")sys.exit()case'камінь'|'к':return0,"Камінь🪨"case'ножиці'|'н':return1,"Ножиці ✂"case'папір'|'п':return2,"Папір📜"case_:return-1,"не розпізнано"defcomputer_hodyt()->tuple[int,str]:returnchoice([(0,"Камінь🪨"),(1,"Ножиці ✂"),(2,"Папір📜")])defocinka_hodu(n1:int,n2:int)->tuple[str,str]:matchn1,n2:case(0,1)|(1,2)|(2,0):return"Людина","Пощастило!"case(0,0)|(1,1)|(2,2):return"Дружба","Нічия"case(1,0)|(2,1)|(0,2):return"Комп'ютер","Спробуй ще"case_:return"Ніхто не","Помилка"if__name__=='__main__':start_game()
defstart_game():print("\nЛаскаво Прошу до гри 'Камінь🪨, Ножиці ✂️, Папір📜'\n")print("Гра відбувається до 3 очків.\n")print("Кінець гри — введіть 0\n")Total=namedtuple("Рахунок",["Людина","Комп"])total=Total(0,0)whiletotal[0]<3andtotal[1]<3:you=vvid_hodu()it=computer_hodyt()winner=ocinka_hodu(you[0],it[0])ifwinner[0]=="Людина":total=Total(total[0]+1,total[1])elifwinner[0]=="Комп'ютер":total=Total(total[0],total[1]+1)elifwinner[0]=="Дружба":total=Total(total[0]+0.5,total[1]+0.5)else:it=(-1,"не важливо")