Haklısın, bütün kodu demişim(olayın sadece birkaç satırlık bir şey olduğunu müneccimledim de, yani orada da haksızsız(tavir yonunden), yani orada haklısın(fikir yönünden)) en azından process içeren kısmını verebilirdin. Örneğin(görünmesini istemediğin kısımları temsilen: […]):
Özet:
bir kod verilmiş ortada hayalet bir process uçuşuyor ama gönderilen kodda esamesi okunmuyor, nasıl kod istemeyeyim? İnan istersem hiç uğraşmazdım, ama bir kişiye de olsa faydalı olmak istiyorum. Bu tepki hoş değil, ben senin kotuluğune istemedim process li kodu.
Sana olasılıkları yazayım sen ona göre değerlendir:
olasılık 1:
try:
p = int(intput())
except:
print("A error occurred")
if process = 1:
print('1')
elif process == 2:
print('2')
else:
print('3')
olasılık2:
if process = 1:
print('1')
elif process == 2:
print('2')
else:
print('3')
try:
p = int(intput())
except:
print("A error occurred")
Neyse Çözüme odaklanalım:
ya while mekanizması kullanınız.
while 1:
try:
p = int(input())
break
except:
print("Sayı giriniz")
if <statement1>:
ivir zivir
ya da bu şekilde bir şey yapınız
try:
p = int(input())
if <statement1>:
ivir zivir
except:
print("Sayı giriniz")
except satırının altına şunu eklerseniz sorununuz çözülecektir.
except ValueError as Hata:
print("Sadece sayı giriniz.")
process = None
try içerisinde process değeri için girdi alıyorsunuz fakat hata verdiğinde process hala belirlenmemiş oluyor. O yüzden hata neticesinde process için de bir değer atamalısınız.
Veya try’dan önce process için değer atayabilirsiniz.
Burada da bu varsayim uzerinden giderek soru sordugumuz icin kiziyorsun. Oysa ki varsayim yanlis.
Bu da yanlis. Kodun icerigi, o kodun nasil calisacagini, ne hatalar cikartacagini dogrudan etkiliyor. Alinan butun hatalar, kodun iceriginde en az bir yere dogrudan bagli.
Python kodu zaman icinde (“yukaridan asagiya”) aktigi icin once calisan kod sonra calisan kodu etkileyebiliyor. Mesela buradaki “if’e takilma” hatasina neden olan kod bizi ilgilendirmedigini dusundugun ve paylasmadigin aralikta olabilir.