Son kullanma tarihi geçmiş, bayatlamış bir tarayıcı kullanıyorsanız, Mercedes kullanmak yerine tosbağaya binmek gibi... Web sitelerini düzgün görüntüleyemiyorsanız eh, bi' zahmet tarayıcınızı güncelleyiniz. Modern Web standartlarını karşılayan bir tarayıcı alternatifine göz atın.
Multithreading ile olur ama bu bağlamda gereksiz bir şey (sadece bilgin olsun diye söyledim). İlk while döngüsü hiç bitmediğinden programın alttaki kodlardan haberi bile yok, ikinci döngü de altta kaldığı için çalışmaz. Yani program o döngüyü bir kenara koyup yoluna devam etmez, onun bitmesi lazım. Mesela şöyle yapabilirsin:
Python:
exit = false
while exit == false:
komut = input(">")
if komut == "q"
exit = true
# ...
Ve scope (kapsama alanı)' a dikkat etmemişsin. Komut sadece while döngüsünün içinde tanımlı o yüzden döngünün dışında ona erişemezsin yani fonksiyon da bu haliyle çalışmaz. İkinci döngü tamamen gereksiz ve onun da çıkışı yok. Düzgün bir hali şöyle olabilir:
Python:
def reply():
print("hello")
exit = false
while not exit:
komut = input(">")
if komut == "q":
exit = true
elif komut == "hi":
reply()
Multithreading ile olur ama bu bağlamda gereksiz bir şey (sadece bilgin olsun diye söyledim). İlk while döngüsü hiç bitmediğinden programın alttaki kodlardan haberi bile yok, ikinci döngü de altta kaldığı için çalışmaz. Yani program o döngüyü bir kenara koyup yoluna devam etmez, onun bitmesi lazım. Mesela şöyle yapabilirsin:
Python:
exit = false
while exit == false:
komut = input(">")
if komut == "q"
exit = true
# ...
Ve scope (kapsama alanı)' a dikkat etmemişsin. Komut sadece while döngüsünün içinde tanımlı o yüzden döngünün dışında ona erişemezsin yani fonksiyon da bu haliyle çalışmaz. İkinci döngü tamamen gereksiz ve onun da çıkışı yok. Düzgün bir hali şöyle olabilir:
Python:
def reply():
print("hello")
exit = false
while not exit:
komut = input(">")
if komut == "q":
exit = true
elif komut == "hi":
reply()
Exit false olarak ayarlı ve değişkenler boolean değerler olduğunda mesela True ise if exit==True yazmassın sadece if exit yazıp bırakırsın. False değerine eşitken çalışmasını istiyorsan while not exit yazacaksın ki iki False değeri yan yana olduğundan True olarak çıksın.
Senin yazdığın kodu düzenledim sadece, anlamadıysan sıkıntı var . While döngüsü bir şart ile çalışır (sonucunda true veya false veren bir ifade). Exit ise burada bir boolean değişkendir. While için koyduğumuz şart ise "not Exit" yani bu değişkenin False değere sahip olması. False olduğu sürece bu döngü çalışmaya devam eder. Eğer True olursa şartımız ("not Exit") sağlanmadığı için döngü biter. Aslında Exit de olmadan daha iyi bir şekilde şöyle olabilir:
Python:
def reply():
print("hello")
while True:
komut = input(">")
if komut == "q":
break
elif komut == "hi":
reply()
Burada while şartının ne olduğuna bakarak önceki kodda Exit'in ne işe yaradığını daha iyi görebilirsin.
While <True/False>: #True ise çalışır, değilse çalışmaz