PyCharm'da "uncreachable code" neden olur?

Unreachable code, early return, infinite loop, her zaman dogru if kosullari gibi seylerden olur. Birden farkli sebebi var yani. Kodu paylasmazsan, unreachable code nereden oluyor diye Allah'a sormak zorunda kaliriz. Allah'inda bu konuda bize yardimci olacagini sanmiyorum, o yuzden lutfen kodu paylas.
 
Unreachable code, early return, infinite loop, her zaman dogru if kosullari gibi seylerden olur. Birden farkli sebebi var yani. Kodu paylasmazsan, unreachable code nereden oluyor diye Allah'a sormak zorunda kaliriz. Allah'inda bu konuda bize yardimci olacagini sanmiyorum, o yuzden lutfen kodu paylas.

Hocam kodlamada yeniyim bu arada, bilginiz olsun. Saçma şeyler yapmış olabilirim :D.

Kod:
sarkicilar = {"Drake": ["God's Plan, Hotline Bling"],
"Travis Scott": ["SICKO MODE", "Goosebumps", "HIGHEST IN THE ROOM"],
"Kanye West": ["Power", "Stronger", "Flashing Lights"],
"Playboi Carti": ["Magnolia", "Sky", "Shoota"],
"Juice WRLD": ["Lucid Dreams", "All Girls Are The Same", "Robbery"]}
import random

while True:
sarkici = input("Bir şarkıcı adı girin: ").title()

if sarkici in sarkicilar:
        sarki = random.choice(sarkicilar[sarkici])
print(f"{sarkici} için önerdiğimiz şarkı: {sarki}")
break
else:
print("Bu şarkıcı hakkında önerimiz yok.")
sarkici = input("Başka bir şarkıcı girmeyi deneyin: ").title()
 
Hocam kodlamada yeniyim bu arada, bilginiz olsun. Saçma şeyler yapmış olabilirim :D.
Onemli degil o. Oncelikle unreachable code bir error sebebi degil Python'da, uyari sebebi. Muhtemelen syntax error'un var eger kodun tahmin ettigim durumdaysa.

Kodu dogru formatta atmamissin, ancak kodun soyle gozuktugu halde unreachable code diyecegini tahmin ediyorum syntax errorun yani sira;
Python:
sarkicilar = {"Drake": ["God's Plan, Hotline Bling"],
"Travis Scott": ["SICKO MODE", "Goosebumps", "HIGHEST IN THE ROOM"],
"Kanye West": ["Power", "Stronger", "Flashing Lights"],
"Playboi Carti": ["Magnolia", "Sky", "Shoota"],
"Juice WRLD": ["Lucid Dreams", "All Girls Are The Same", "Robbery"]}
import random

while True:
    sarkici = input("Bir şarkıcı adı girin: ").title()
    
    if sarkici in sarkicilar:
        sarki = random.choice(sarkicilar[sarkici])
        print(f"{sarkici} için önerdiğimiz şarkı: {sarki}")
    break
    else: # VS Code unreachable code diyecek ama normalde bu syntax error, if ve else arasina bir sey giremez
        print("Bu şarkıcı hakkında önerimiz yok.")
    sarkici = input("Başka bir şarkıcı girmeyi deneyin: ").title()

Break loop'u durduracak. while ve for looplari icerisinde break kullanmak, o loopun o noktadan sonra calismasini onler ve loop bir daha tekrar etmez. Dolayisiyla alttaki kod erisilemez (unreachable) olur.
Break yerine continue yazarsan da loop alttaki kodu atlayarak tekrar etmeye gececegi icin unreachable olurdu.

Daha oncede dedigim gibi, unreachable code dedigimiz sey, erisilemez kod –– kendisinden onceki bir cagri yuzunden ASLA calismayacak kod demek. Bu return, continue, break veya sonsuz bir loop yuzunden olabilir. Fakat bir hata sebebi olmadigindan, sadece yazdigin kodun o kisminin calismamasiyla sonuclanir (atlar orayi), bugdir ama crash/exception vs sebebi olmaz.

Break'i if blogunun icine alirsan sorun cozulmeli. (Input getirme seklinden kaynakli baska bir problemin daha var, onu da ornekle cozdum, bakarsin)
Python:
sarkicilar = {"Drake": ["God's Plan, Hotline Bling"],
"Travis Scott": ["SICKO MODE", "Goosebumps", "HIGHEST IN THE ROOM"],
"Kanye West": ["Power", "Stronger", "Flashing Lights"],
"Playboi Carti": ["Magnolia", "Sky", "Shoota"],
"Juice WRLD": ["Lucid Dreams", "All Girls Are The Same", "Robbery"]}
import random

sarkici = input("Bir şarkıcı adı girin: ").title()
    
while sarkici != "":
    if sarkici in sarkicilar:
        sarki = random.choice(sarkicilar[sarkici])
        print(f"{sarkici} için önerdiğimiz şarkı: {sarki}")
        break
    else:
        print("Bu şarkıcı hakkında önerimiz yok.")
        sarkici = input("Başka bir şarkıcı girmeyi deneyin: ").title()
 
Onemli degil o. Oncelikle unreachable code bir error sebebi degil Python'da, uyari sebebi. Muhtemelen syntax error'un var eger kodun tahmin ettigim durumdaysa.

Kodu dogru formatta atmamissin, ancak kodun soyle gozuktugu halde unreachable code diyecegini tahmin ediyorum syntax errorun yani sira;
Python:
sarkicilar = {"Drake": ["God's Plan, Hotline Bling"],
"Travis Scott": ["SICKO MODE", "Goosebumps", "HIGHEST IN THE ROOM"],
"Kanye West": ["Power", "Stronger", "Flashing Lights"],
"Playboi Carti": ["Magnolia", "Sky", "Shoota"],
"Juice WRLD": ["Lucid Dreams", "All Girls Are The Same", "Robbery"]}
import random

while True:
    sarkici = input("Bir şarkıcı adı girin: ").title()
   
    if sarkici in sarkicilar:
        sarki = random.choice(sarkicilar[sarkici])
        print(f"{sarkici} için önerdiğimiz şarkı: {sarki}")
    break
    else: # VS Code unreachable code diyecek ama normalde bu syntax error, if ve else arasina bir sey giremez
        print("Bu şarkıcı hakkında önerimiz yok.")
    sarkici = input("Başka bir şarkıcı girmeyi deneyin: ").title()

Break loop'u durduracak. while ve for looplari icerisinde break kullanmak, o loopun o noktadan sonra calismasini onler ve loop bir daha tekrar etmez. Dolayisiyla alttaki kod erisilemez (unreachable) olur.
Break yerine continue yazarsan da loop alttaki kodu atlayarak tekrar etmeye gececegi icin unreachable olurdu.

Daha oncede dedigim gibi, unreachable code dedigimiz sey, erisilemez kod –– kendisinden onceki bir cagri yuzunden ASLA calismayacak kod demek. Bu return, continue, break veya sonsuz bir loop yuzunden olabilir. Fakat bir hata sebebi olmadigindan, sadece yazdigin kodun o kisminin calismamasiyla sonuclanir (atlar orayi), bugdir ama crash/exception vs sebebi olmaz.

Break'i if blogunun icine alirsan sorun cozulmeli. (Input getirme seklinden kaynakli baska bir problemin daha var, onu da ornekle cozdum, bakarsin)
Python:
sarkicilar = {"Drake": ["God's Plan, Hotline Bling"],
"Travis Scott": ["SICKO MODE", "Goosebumps", "HIGHEST IN THE ROOM"],
"Kanye West": ["Power", "Stronger", "Flashing Lights"],
"Playboi Carti": ["Magnolia", "Sky", "Shoota"],
"Juice WRLD": ["Lucid Dreams", "All Girls Are The Same", "Robbery"]}
import random

sarkici = input("Bir şarkıcı adı girin: ").title()
   
while sarkici != "":
    if sarkici in sarkicilar:
        sarki = random.choice(sarkicilar[sarkici])
        print(f"{sarkici} için önerdiğimiz şarkı: {sarki}")
        break
    else:
        print("Bu şarkıcı hakkında önerimiz yok.")
        sarkici = input("Başka bir şarkıcı girmeyi deneyin: ").title()

Çok teşekkür ederim hocam.
 

Technopat Haberler

Geri
Yukarı