I think I fixed "caps doesn't work" problem (?)

This commit is contained in:
mertoalex 2022-11-09 23:37:04 +03:00
parent 314379f3d5
commit f25bfb70c7
1 changed files with 64 additions and 63 deletions

127
eybte.py
View File

@ -6,28 +6,31 @@ from random import randint as ri
puan, soru = (0,0)
evet = True
hayır = False
hayir = False
#they have no reasons lol
sor = evet #oyun modunu sorması için
isimmi = hayir
sembolik = ['H','He','Li','Be','B','C','N','O','F','Ne','Na','Mg','Al','Si','P','S','Cl','Ar','K','Ca','Sc','Ti','V','Cr','Mn','Fe','Co','Ni','Cu','Zn','Ga','Ge','As','Se','Br','Kr','Rb','Sr','Y','Zr','Nb','Mo','Tc','Ru','Rh','Pd','Ag','Cd','In','Sn','Sb','Te','I','Xe','Cs','Ba','Hf','Ta','W','Re','Os','Ir','Pt','Au','Hg','Tl','Pb']
sembolik_yaygın = ['hidrojen','helyum','lityum','berilyum','bor','karbon','azot / nitrojen','oksijen','flor','neon','sodyum','magnezyum','alüminyum','silisyum','fosfor','kükürt','klor','argon','potasyum','kalsiyum','skandiyum','titanyum / titan','vanadyum','krom','mangan / manganez','demir','kobalt','nikel','bakır','çinko','galyum','germanyum','arsenik','selenyum','brom','kripton','rubidyum','stronsiyum','itriyum','zirkonyum','niyobyum','molibden','teknetyum','rutenyum','rodyum','paladyum','gümüş','kadmiyum','indiyum','kalay','antimon','tellur','iyot','Ksenon','sezyum','baryum','hafniyum','tantal','tungsten','renyum','osmiyum','iridyum','platin','altın','cıva / civa','Talyum','kurşun']
sembolik_yaygin = ['hidrojen','helyum','lityum','berilyum','bor','karbon','azot / nitrojen','oksijen','flor','neon','sodyum','magnezyum','alüminyum','silisyum','fosfor','kükürt','klor','argon','potasyum','kalsiyum','skandiyum','titanyum / titan','vanadyum','krom','mangan / manganez','demir','kobalt','nikel','bakır','çinko','galyum','germanyum','arsenik','selenyum','brom','kripton','rubidyum','stronsiyum','itriyum','zirkonyum','niyobyum','molibden','teknetyum','rutenyum','rodyum','paladyum','gümüş','kadmiyum','indiyum','kalay','antimon','tellur','iyot','Ksenon','sezyum','baryum','hafniyum','tantal','tungsten','renyum','osmiyum','iridyum','platin','altın','cıva / civa','Talyum','kurşun']
bileşik = ['H2O','HCl','H2SO4','HNO3','CH3COOH','CaCO3','NaHCO3','NH3','Ca(OH)2','NaOH','KOH','CaO','NaCl']
bileşik_yaygın = ['su','tuz ruhu / hidroklorik asit','zaç yağı / sülfürik asit','kezzap / nitrik asit','asetik asit / sirke asidi / sirke ruhu','kireç taşı','yemek sodası / sodyum bikarbonat / kabartma tozu','amonyak','sönmüş kireç / kalsiyum hidroksit','sud kostik / sodyum hidroksit','potas kostik / potasyum hidroksit / potasyum hidrat','sönmemiş kireç / kalsiyum oksit','yemek tuzu / sodyum klorür / sofra tuzu / tuz']
bilesik = ['H2O','HCl','H2SO4','HNO3','CH3COOH','CaCO3','NaHCO3','NH3','Ca(OH)2','NaOH','KOH','CaO','NaCl']
bilesik_yaygin = ['su','tuz ruhu / hidroklorik asit','zaç yağı / sülfürik asit','kezzap / nitrik asit','asetik asit / sirke asidi / sirke ruhu','kireç taşı','yemek sodası / sodyum bikarbonat / kabartma tozu','amonyak','sönmüş kireç / kalsiyum hidroksit','sud kostik / sodyum hidroksit','potas kostik / potasyum hidroksit / potasyum hidrat','sönmemiş kireç / kalsiyum oksit','yemek tuzu / sodyum klorür / sofra tuzu / tuz']
bileşik_bitti, sembolik_bitti = (False, False)
bilesik_bitti, sembolik_bitti = (hayir, hayir)
soru_türü = "random"
soru_türü_açıklaması ="""3 soru türü var, bu soru türleri;
soru_türü_aciklamasi ="""3 soru türü var, bu soru türleri;
random\t = altdakkilerden birini sorar (her seferinde değişir)
sembolik = sembollerden sorar (C, O, H gibi)
bileşik\t = bileşiklerden sorar (H2O gibi)
hangisini seçiyorsun?
"""
soru_sıralaması = "random"
soru_sıralaması_açıklaması = """3 soru sıralaması var, bu soru sıralamaları;
soru_siralamasi = "random"
soru_siralamasi_aciklamasi = """3 soru sıralaması var, bu soru sıralamaları;
random\t = altdakilerden birini yapar (her seferinde değişir)
yaygın\t = yaygın sorup sembolik halini cevap olarak ister ("hidroklorik asit" cevap:HCI gibi)
sembolik = sembolik sorup yaygın halini cevap olarak ister(HCI cevap:"hidroklorik asit" gibi)
@ -35,17 +38,17 @@ hangisini seçiyorsun?
"""
def init():
global bileşik_bitti,sembolik_bitti
if soru_türü == "sembolik": bileşik_bitti = True
if soru_türü == "bileşik": sembolik_bitti = True
global bilesik_bitti,sembolik_bitti
if soru_türü == "sembolik": bilesik_bitti = evet
if soru_türü == "bileşik": sembolik_bitti = evet
def str_to_list(string):
return string.split(sep=None, maxsplit=0)
def soru_turu_sor():
global soru_türü
print(soru_türü_açıklaması, end="")
while True:
print(soru_türü_aciklamasi, end="")
while evet:
user_cevap = input("$ ").casefold()
if user_cevap == "random" or user_cevap == "sembolik" or user_cevap == "bileşik":
@ -57,94 +60,92 @@ def soru_turu_sor():
else: print(f"\"{user_cevap}\" bir soru türü değil, sadece \"random\", \"sembolik\" ve \"bileşik\" yazmanız lazım.")
def soru_siralamasi_sor():
global soru_sıralaması
print(soru_sıralaması_açıklaması, end="")
while True:
global soru_siralamasi, isimmi
print(soru_siralamasi_aciklamasi, end="")
while evet:
user_cevap = input("$ ").casefold()
if user_cevap == "random" or user_cevap == "yaygın" or user_cevap == "sembolik":
soru_sıralaması = user_cevap
soru_siralamasi = user_cevap
isimmi = evet if user_cevap == "sembolik" else hayir
break
elif f"{user_cevap}" == '':
print(f"bir şey yazılmadı, default olarak soru türü \"{soru_sıralaması}\" olarak seçildi\n")
print(f"bir şey yazılmadı, default olarak soru türü \"{soru_siralamasi}\" olarak seçildi\n")
break
else: print(f"\"{user_cevap}\" bir soru sıralaması değil, sadece \"random\", \"yaygın\" veya \"sembolik\" yazmanız lazım.")
else: print(f"\"{user_cevap}\" bir soru siralamasi değil, sadece \"random\", \"yaygın\" veya \"sembolik\" yazmanız lazım.")
def tahmin(yaygın_adı,sembolik_formülü):
global puan, soru
if soru_sıralaması == "random":
def tahmin(first,second):
global puan, soru, isimmi
if soru_siralamasi == "random":
random_int = ri(0,1)
if random_int == 0:
başlık = yaygın_adı
cevap = sembolik_formülü
baslik,cevap,isimmi = first,second,hayir
if random_int == 1:
başlık = sembolik_formülü
cevap = yaygın_adı
elif soru_sıralaması == "yaygın":
başlık = yaygın_adı
cevap = sembolik_formülü
elif soru_sıralaması == "sembolik":
başlık = sembolik_formülü
cevap = yaygın_adı
baslik,cevap,isimmi = second,first,evet
elif soru_siralamasi == "yaygın":
baslik,cevap = first,second
elif soru_siralamasi == "sembolik":
baslik,cevap = second,first
else:
print(f"\"{soru_sıralaması}\" diye bir soru sıralaması bulunamadı. geçerli soru sıralamaları: random, yaygın, sembolik (hepsinin açıklaması kaynak kodda)")
print(f"\"{soru_siralamasi}\" diye bir soru sıralaması bulunamadı. geçerli soru sıralamaları: random, yaygın, sembolik (hepsinin aciklamasi kaynak kodda)")
exit(1)
if ' / ' in cevap: cevap = cevap.split(' / ')
if not isinstance(cevap,list): cevap = str_to_list(cevap)
cevap = cevap.split(' / ') if ' / ' in cevap else cevap
cevap = str_to_list(cevap) if not isinstance(cevap,list) else cevap
soru += 1
user_cevap = input(f"puanın: {puan}\n{soru}) {başlık}\n$ ") or 'n'
user_cevap = input(f"puanın: {puan}\n{soru}) {baslik}\n$ ") or '**BOŞ GİRİLDİ**' # ({cevap} | {isimmi}) for debugging
user_cevap = user_cevap.casefold() if isimmi else user_cevap
if user_cevap in cevap:
print("afferim, doğru cevap! (+10 puan)")
print("afferim, doğru cevap! (+10 puan)") #for debugging: f"++ ({user_cevap} in {cevap} = {str(user_cevap in cevap)})")
puan += 10
return True
return evet
elif user_cevap.casefold() in ["exit","çık","çıkış"]:
print("oynadığın için teşekkür ederim, görüşürüz. 👋")
exit(0)
elif puan <= 0:
print("üzgünüm, yanlış cevap.")
return False
print("üzgünüm, yanlış cevap.") #for debugging: f"O (not {user_cevap} in {cevap} = {str(user_cevap in cevap)})")
return hayir
else:
print("üzgünüm, yanlış cevap (-5 puan)")
print("üzgünüm, yanlış cevap (-5 puan)") #for debugging: f"Br (not {user_cevap} in {cevap} = {str(user_cevap in cevap)})")
puan -= 5
return False
return hayir
def oyunu_baslat():
global bileşik_bitti,sembolik_bitti
while True:
if len(sembolik_yaygın) <= 0: sembolik_bitti = True
if len(bileşik_yaygın) <= 0: bileşik_bitti = True
global bilesik_bitti,sembolik_bitti
while evet:
if len(sembolik_yaygin) <= 0: sembolik_bitti = evet
if len(bilesik_yaygin) <= 0: bilesik_bitti = evet
if soru_türü == "random":
random_int = ri(0,1)
if not bileşik_bitti and random_int == 0:
sor = ri(0,len(bileşik_yaygın)-1)
if tahmin(bileşik_yaygın[sor],bileşik[sor]):
bileşik_yaygın.pop(sor)
bileşik.pop(sor)
if not bilesik_bitti and random_int == 0:
sor = ri(0,len(bilesik_yaygin)-1)
if tahmin(bilesik_yaygin[sor],bilesik[sor]):
bilesik_yaygin.pop(sor)
bilesik.pop(sor)
if not sembolik_bitti and random_int == 1:
sor = ri(0,len(sembolik_yaygın)-1)
if tahmin(sembolik_yaygın[sor],sembolik[sor]):
sembolik_yaygın.pop(sor)
sor = ri(0,len(sembolik_yaygin)-1)
if tahmin(sembolik_yaygin[sor],sembolik[sor]):
sembolik_yaygin.pop(sor)
sembolik.pop(sor)
if not bileşik_bitti and soru_türü == "bileşik":
sor = ri(0,len(bileşik_yaygın)-1)
if tahmin(bileşik_yaygın[sor],bileşik[sor]):
bileşik_yaygın.pop(sor)
bileşik.pop(sor)
if not bilesik_bitti and soru_türü == "bileşik":
sor = ri(0,len(bilesik_yaygin)-1)
if tahmin(bilesik_yaygin[sor],bilesik[sor]):
bilesik_yaygin.pop(sor)
bilesik.pop(sor)
if not sembolik_bitti and soru_türü == "sembolik":
sor = ri(0,len(sembolik_yaygın)-1)
if tahmin(sembolik_yaygın[sor],sembolik[sor]):
sembolik_yaygın.pop(sor)
sor = ri(0,len(sembolik_yaygin)-1)
if tahmin(sembolik_yaygin[sor],sembolik[sor]):
sembolik_yaygin.pop(sor)
sembolik.pop(sor)
if bileşik_bitti and sembolik_bitti:
if bilesik_bitti and sembolik_bitti:
print(f"puanın: {puan}\noyunu oynadığınız için teşekkürler, umarım ezberlemenizde yardımcı olmuşumdur ve umarım eğlenmişsinizdir.")
exit(0)