Hata yakalama hakkında

kullanıcı int(input()) içine float değer girerse ne yapabilirim? ValueError hatası veriyor. Try except kullanınca soruyu tekrar soruyor. Sadece try except kullansam Try içine değişken koyunca algılamıyor (muhtemelen ben yapamıyorum) o sefer de NameError hatası veriyor. Aklıma hiçbir şey gelmedi.

Yazdığınız kodları paylaşın, nerede hata yaptığınıza beraber bakalım.

Bu kod int bir değer girilmediği sürece başa dönüyor:

while True:
	try:
		a = int(input("Bir int say giriniz:"))
	except ValueError:
		print("Lütfen tekrar deneyin")
	else:
		break
1 Beğeni
import random
print('SAYI TAHMİN OYUNU\n')
print('Oyunda 15 defa 0-20 arasında bir sayı yazarak yapay zekanın sizden hemen sonra yazacağı sayıyı tahmin etmeye çalışacaksınız.  İyi şanslar!\n')
#Kullanıcıya oyunun adını ve oyunun amacını anlatıyoruz. 
print('  ')
#Boşluk
a500 = int(input('1- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
#Kullanıcıya bir sayı girmesi gerektiğini söylüyoruz.
liste = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
#Programın boyutunu küçültmek ve pratik olmak için bir liste oluşturuyoruz. Bu, kullanıcının inputlarda sorunsuz bir şekilde girebileceği, geçerli karakterlerin listesidir.
if a500 == liste:
	pass
#1. sorumuz listedeki herhangi bir karakterle eşleşirse 'pass' yani 'geç, devam et' dedik?
while a500 > 20:
	 	print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 	a501 = int(input('1- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 	if a501 == 1:
	 		break
	 	if a501 == 2:
	 		break
	 	if a501 == 3:
	 		break
	 	if a501 == 4:
	 		break
	 	if a501 == 5:
	 		break
	 	if a501 == 6:
	 		break
	 	if a501 == 7:
	 		break
	 	if a501 == 8:
	 		break
	 	if a501 == 9:
	 		break
	 	if a501 == 10:
	 		break
	 	if a501 == 11:
	 		break
	 	if a501 == 12:
	 		break
	 	if a501 == 13:
	 		break
	 	if a501 == 14:
	 		break
	 	if a501 == 15:
	 		break
	 	if a501 == 16:
	 		break
	 	if a501 == 17:
	 		break
	 	if a501 == 18:
	 		break
	 	if a501 == 19:
	 		break
	 	if a501 == 20:
	 		break
#Kullanıcının girdiği sayı 20'den büyükse, sahte bir hata mesajı ile düzgün bir sayı girmeye zorluyoruz. "liste" değişkeninde ki herhangi bir sayıyı girmediği sürece sonsuza dek sorudan çıkamayacak.
	 	
while a500 < 0:
	 	print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 	a502 = int(input('1- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))	 	
	 	if a502 == 1:
	 		break
	 	if a502 == 2:
	 		break
	 	if a502 == 3:
	 		break
	 	if a502 == 4:
	 		break
	 	if a502 == 5:
	 		break
	 	if a502 == 6:
	 		break
	 	if a502 == 7:
	 		break
	 	if a502 == 8:
	 		break
	 	if a502 == 9:
	 		break
	 	if a502 == 10:
	 		break
	 	if a502 == 11:
	 		break
	 	if a502 == 12:
	 		break
	 	if a502 == 13:
	 		break
	 	if a502 == 14:
	 		break
	 	if a502 == 15:
	 		break
	 	if a502 == 16:
	 		break
	 	if a502 == 17:
	 		break
	 	if a502 == 18:
	 		break
	 	if a502 == 19:
	 		break
	 	if a502 == 20:
	 		break
#Burda da aynı şey geçerli. Tek fark sayının 0'dan az olması.	 	
	

b = print('MAKİNE:',(random.randint(0,20)))
#Yapay zeka 0 ile 20 arasında rastgele bir sayı yazıyor.
a2 = int(input('2- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
#" " " " " ". (2.hamle)
if a2 == liste:
	pass
while a2 > 20:
	 	print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 	print(' ')
	 	a21 = int(input('2- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 	if a21 == 1:
	 		break
	 	if a21 == 2:
	 		break
	 	if a21 == 3:
	 		break
	 	if a21 == 4:
	 		break
	 	if a21 == 5:
	 		break
	 	if a21 == 6:
	 		break
	 	if a21 == 7:
	 		break
	 	if a21 == 8:
	 		break
	 	if a21 == 9:
	 		break
	 	if a21 == 10:
	 		break
	 	if a21 == 11:
	 		break
	 	if a21 == 12:
	 		break
	 	if a21 == 13:
	 		break
	 	if a21 == 14:
	 		break
	 	if a21 == 15:
	 		break
	 	if a21 == 16:
	 		break
	 	if a21 == 17:
	 		break
	 	if a21 == 18:
	 		break
	 	if a21 == 19:
	 		break
	 	if a21 == 20:
	 		break
	 	
while a2 < 0:
	 	print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 	print(' ')
	 	a22 = int(input('2- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:')) 
	 	if a22 == 1:
	 		break
	 	if a22 == 2:
	 		break
	 	if a22 == 3:
	 		break
	 	if a22 == 4:
	 		break
	 	if a22 == 5:
	 		break
	 	if a22 == 6:
	 		break
	 	if a22 == 7:
	 		break
	 	if a22 == 8:
	 		break
	 	if a22 == 9:
	 		break
	 	if a22 == 10:
	 		break
	 	if a22 == 11:
	 		break
	 	if a22 == 12:
	 		break
	 	if a22 == 13:
	 		break
	 	if a22 == 14:
	 		break
	 	if a22 == 15:
	 		break
	 	if a22 == 16:
	 		break
	 	if a22 == 17:
	 		break
	 	if a22 == 18:
	 		break
	 	if a22 == 19:
	 		break
	 	if a22 == 20:
	 		break
b2 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (2.hamle)
a3 = int(input('3- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
if a3 == liste:
	pass	
while a3 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a31 = int(input('3- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a31 == 1:
	 			break
	 		if a31 == 2:
	 		  		break
	 		if a31 == 3:
	 			break
	 		if a31 == 4:
	 			break
	 		if a31 == 5:
	 			break
	 		if a31 == 6:
	 			break
	 		if a31 == 7:
	 			break
	 		if a31 == 8:
	 			break
	 		if a31 == 9:
	 			break
	 		if a31 == 10:
	 			break
	 		if a31 == 11:
	 			break
	 		if a31 == 12:
	 			break
	 		if a31 == 13:
	 			break
	 		if a31 == 14:
	 			break
	 		if a31 == 15:
	 			break
	 		if a31 == 16:
	 			break
	 		if a31 == 17:
	 			break
	 		if a31 == 18:
	 			break
	 		if a31 == 19:
	 			break
	 		if a31 == 20:
	 			break
while a3 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a32 = int(input('3- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a32 == 1:
	 			break
	 		if a32 == 2:
	 			break
	 		if a32 == 3:
	 			break
	 		if a32 == 4:
	 			break
	 		if a32 == 5:
	 			break
	 		if a32 == 6:
	 			break
	 		if a32 == 7:
	 			break
	 		if a32 == 8:
	 			break
	 		if a32 == 9:
	 			break
	 		if a32 == 10:
	 			break
	 		if a32 == 11:
	 			break
	 		if a32 == 12:
	 			break
	 		if a32 == 13:
	 			break
	 		if a32 == 14:
	 			break
	 		if a32 == 15:
	 			break
	 		if a32 == 16:
	 			break
	 		if a32 == 17:
	 			break
	 		if a32 == 18:
	 			break
	 		if a32 == 19:
	 			break
	 		if a32 == 20:
	 			break
	 		
	 		
#" " " " " ". (3.hamle)
b3 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (3.hamle)
a4 = int(input('4- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
if a4 == liste:
	pass
while a4 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 		print(' ')
	 		a41 = int(input('4- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a41 == 1:
	 			break
	 		if a41 == 2:
	 		  		break
	 		if a41 == 3:
	 			break
	 		if a41 == 4:
	 			break
	 		if a41 == 5:
	 			break
	 		if a41 == 6:
	 			break
	 		if a41 == 7:
	 			break
	 		if a41 == 8:
	 			break
	 		if a41 == 9:
	 			break
	 		if a41 == 10:
	 			break
	 		if a41 == 11:
	 			break
	 		if a41 == 12:
	 			break
	 		if a41 == 13:
	 			break
	 		if a41 == 14:
	 			break
	 		if a41 == 15:
	 			break
	 		if a41 == 16:
	 			break
	 		if a41 == 17:
	 			break
	 		if a41 == 18:
	 			break
	 		if a41 == 19:
	 			break
	 		if a41 == 20:
	 			break
while a4 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 		print(' ')
	 		a42 = int(input('4- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a42 == 1:
	 			break
	 		if a42 == 2:
	 			break
	 		if a42 == 3:
	 			break
	 		if a42 == 4:
	 			break
	 		if a42 == 5:
	 			break
	 		if a42 == 6:
	 			break
	 		if a42 == 7:
	 			break
	 		if a42 == 8:
	 			break
	 		if a42 == 9:
	 			break
	 		if a42 == 10:
	 			break
	 		if a42 == 11:
	 			break
	 		if a42 == 12:
	 			break
	 		if a42 == 13:
	 			break
	 		if a42 == 14:
	 			break
	 		if a42 == 15:
	 			break
	 		if a42 == 16:
	 			break
	 		if a42 == 17:
	 			break
	 		if a42 == 18:
	 			break
	 		if a42 == 19:
	 			break
	 		if a42 == 20:
	 			break

#" " " " " ". (4.hamle)
b4 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (4.hamle)
a5 = int(input('5- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
if a5 == liste:
	pass	
while a5 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a51 = int(input('5- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a51 == 1:
	 			break
	 		if a51 == 2:
	 		  		break
	 		if a51 == 3:
	 			break
	 		if a51 == 4:
	 			break
	 		if a51 == 5:
	 			break
	 		if a51 == 6:
	 			break
	 		if a51 == 7:
	 			break
	 		if a51 == 8:
	 			break
	 		if a51 == 9:
	 			break
	 		if a51 == 10:
	 			break
	 		if a51 == 11:
	 			break
	 		if a51 == 12:
	 			break
	 		if a51 == 13:
	 			break
	 		if a51 == 14:
	 			break
	 		if a51 == 15:
	 			break
	 		if a51 == 16:
	 			break
	 		if a51 == 17:
	 			break
	 		if a51 == 18:
	 			break
	 		if a51 == 19:
	 			break
	 		if a51 == 20:
	 			break
while a5 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 		print('  ')
	 		a52 = int(input('5- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a52 == 1:
	 			break
	 		if a52 == 2:
	 			break
	 		if a52 == 3:
	 			break
	 		if a52 == 4:
	 			break
	 		if a52 == 5:
	 			break
	 		if a52 == 6:
	 			break
	 		if a52 == 7:
	 			break
	 		if a52 == 8:
	 			break
	 		if a52 == 9:
	 			break
	 		if a52 == 10:
	 			break
	 		if a52 == 11:
	 			break
	 		if a52 == 12:
	 			break
	 		if a52 == 13:
	 			break
	 		if a52 == 14:
	 			break
	 		if a52 == 15:
	 			break
	 		if a52 == 16:
	 			break
	 		if a52 == 17:
	 			break
	 		if a52 == 18:
	 			break
	 		if a52 == 19:
	 			break
	 		if a52 == 20:
	 			break
#" " " " " ". (5.hamle)
b5 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (5.hamle)
a6 = int(input('6- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
if a6 == liste:
	pass	
while a6 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a61 = int(input('6- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a61 == 1:
	 			break
	 		if a61 == 2:
	 		  		break
	 		if a61 == 3:
	 			break
	 		if a61 == 4:
	 			break
	 		if a61 == 5:
	 			break
	 		if a61 == 6:
	 			break
	 		if a61 == 7:
	 			break
	 		if a61 == 8:
	 			break
	 		if a61 == 9:
	 			break
	 		if a61 == 10:
	 			break
	 		if a61 == 11:
	 			break
	 		if a61 == 12:
	 			break
	 		if a61 == 13:
	 			break
	 		if a61 == 14:
	 			break
	 		if a61 == 15:
	 			break
	 		if a61 == 16:
	 			break
	 		if a61 == 17:
	 			break
	 		if a61 == 18:
	 			break
	 		if a61 == 19:
	 			break
	 		if a61 == 20:
	 			break
while a6 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 		print('  ')
	 		a62 = int(input('6- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a62 == 1:
	 			break
	 		if a62 == 2:
	 			break
	 		if a62 == 3:
	 			break
	 		if a62 == 4:
	 			break
	 		if a62 == 5:
	 			break
	 		if a62 == 6:
	 			break
	 		if a62 == 7:
	 			break
	 		if a62 == 8:
	 			break
	 		if a62 == 9:
	 			break
	 		if a62 == 10:
	 			break
	 		if a62 == 11:
	 			break
	 		if a62 == 12:
	 			break
	 		if a62 == 13:
	 			break
	 		if a62 == 14:
	 			break
	 		if a62 == 15:
	 			break
	 		if a62 == 16:
	 			break
	 		if a62 == 17:
	 			break
	 		if a62 == 18:
	 			break
	 		if a62 == 19:
	 			break
	 		if a62 == 20:
	 			break
#" " " " " ". (6.hamle)
b6 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (6.hamle)
a7 = int(input('7- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
if a7 == liste:
	pass	
while a7 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a71 = int(input('7- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a71 == 1:
	 			break
	 		if a71 == 2:
	 		  		break
	 		if a71 == 3:
	 			break
	 		if a71 == 4:
	 			break
	 		if a71 == 5:
	 			break
	 		if a71 == 6:
	 			break
	 		if a71 == 7:
	 			break
	 		if a71 == 8:
	 			break
	 		if a71 == 9:
	 			break
	 		if a71 == 10:
	 			break
	 		if a71 == 11:
	 			break
	 		if a71 == 12:
	 			break
	 		if a71 == 13:
	 			break
	 		if a71 == 14:
	 			break
	 		if a71 == 15:
	 			break
	 		if a71 == 16:
	 			break
	 		if a71 == 17:
	 			break
	 		if a71 == 18:
	 			break
	 		if a71 == 19:
	 			break
	 		if a71 == 20:
	 			break
while a7 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		print('  ')
	 		a72 = int(input('7- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a72 == 1:
	 			break
	 		if a72 == 2:
	 			break
	 		if a72 == 3:
	 			break
	 		if a72 == 4:
	 			break
	 		if a72 == 5:
	 			break
	 		if a72 == 6:
	 			break
	 		if a72 == 7:
	 			break
	 		if a72 == 8:
	 			break
	 		if a72 == 9:
	 			break
	 		if a72 == 10:
	 			break
	 		if a72 == 11:
	 			break
	 		if a72 == 12:
	 			break
	 		if a72 == 13:
	 			break
	 		if a72 == 14:
	 			break
	 		if a72 == 15:
	 			break
	 		if a72 == 16:
	 			break
	 		if a72 == 17:
	 			break
	 		if a72 == 18:
	 			break
	 		if a72 == 19:
	 			break
	 		if a72 == 20:
	 			break
#" " " " " ". (7.hamle)
b7 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (7.hamle)
a8 = int(input('8- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
if a8 == liste:
	pass		
while a8 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a81 = int(input('8- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a81 == 1:
	 			break
	 		if a81 == 2:
	 		  		break
	 		if a81 == 3:
	 			break
	 		if a81 == 4:
	 			break
	 		if a81 == 5:
	 			break
	 		if a81 == 6:
	 			break
	 		if a81 == 7:
	 			break
	 		if a81 == 8:
	 			break
	 		if a81 == 9:
	 			break
	 		if a81 == 10:
	 			break
	 		if a81 == 11:
	 			break
	 		if a81 == 12:
	 			break
	 		if a81 == 13:
	 			break
	 		if a81 == 14:
	 			break
	 		if a81 == 15:
	 			break
	 		if a81 == 16:
	 			break
	 		if a81 == 17:
	 			break
	 		if a81 == 18:
	 			break
	 		if a81 == 19:
	 			break
	 		if a81 == 20:
	 			break
while a8 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 		print('  ')
	 		a82 = int(input('8- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a82 == 1:
	 			break
	 		if a82 == 2:
	 			break
	 		if a82 == 3:
	 			break
	 		if a82 == 4:
	 			break
	 		if a82 == 5:
	 			break
	 		if a82 == 6:
	 			break
	 		if a82 == 7:
	 			break
	 		if a82 == 8:
	 			break
	 		if a82 == 9:
	 			break
	 		if a82 == 10:
	 			break
	 		if a82 == 11:
	 			break
	 		if a82 == 12:
	 			break
	 		if a82 == 13:
	 			break
	 		if a82 == 14:
	 			break
	 		if a82 == 15:
	 			break
	 		if a82 == 16:
	 			break
	 		if a82 == 17:
	 			break
	 		if a82 == 18:
	 			break
	 		if a82 == 19:
	 			break
	 		if a82 == 20:
	 			break
#" " " " " ". (8.hamle)
b8 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (8.hamle)
a9 = int(input('9- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
if a9 == liste:
	pass	
while a9 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 		print(' ')
	 		a91 = int(input('9- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a91 == 1:
	 			break
	 		if a91 == 2:
	 		  		break
	 		if a91 == 3:
	 			break
	 		if a91 == 4:
	 			break
	 		if a91 == 5:
	 			break
	 		if a91 == 6:
	 			break
	 		if a91 == 7:
	 			break
	 		if a91 == 8:
	 			break
	 		if a91 == 9:
	 			break
	 		if a91 == 10:
	 			break
	 		if a91 == 11:
	 			break
	 		if a91 == 12:
	 			break
	 		if a91 == 13:
	 			break
	 		if a91 == 14:
	 			break
	 		if a91 == 15:
	 			break
	 		if a91 == 16:
	 			break
	 		if a91 == 17:
	 			break
	 		if a91 == 18:
	 			break
	 		if a91 == 19:
	 			break
	 		if a91 == 20:
	 			break
while a9 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 		print('  ')
	 		a92 = int(input('9- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a92 == 1:
	 			break
	 		if a92 == 2:
	 			break
	 		if a92 == 3:
	 			break
	 		if a92 == 4:
	 			break
	 		if a92 == 5:
	 			break
	 		if a92 == 6:
	 			break
	 		if a92 == 7:
	 			break
	 		if a92 == 8:
	 			break
	 		if a92 == 9:
	 			break
	 		if a92 == 10:
	 			break
	 		if a92 == 11:
	 			break
	 		if a92 == 12:
	 			break
	 		if a92 == 13:
	 			break
	 		if a92 == 14:
	 			break
	 		if a92 == 15:
	 			break
	 		if a92 == 16:
	 			break
	 		if a92 == 17:
	 			break
	 		if a92 == 18:
	 			break
	 		if a92 == 19:
	 			break
	 		if a92 == 20:
	 			break
#" " " " " ". (9.hamle)
b9 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (9.hamle)
a10 = int(input('10- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
if a10 == liste:
	pass		
while a10 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a101 = int(input('10- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a101 == 1:
	 			break
	 		if a101 == 2:
	 		  		break
	 		if a101 == 3:
	 			break
	 		if a101 == 4:
	 			break
	 		if a101 == 5:
	 			break
	 		if a101 == 6:
	 			break
	 		if a101 == 7:
	 			break
	 		if a101 == 8:
	 			break
	 		if a101 == 9:
	 			break
	 		if a101 == 10:
	 			break
	 		if a101 == 11:
	 			break
	 		if a101 == 12:
	 			break
	 		if a101 == 13:
	 			break
	 		if a101 == 14:
	 			break
	 		if a101 == 15:
	 			break
	 		if a101 == 16:
	 			break
	 		if a101 == 17:
	 			break
	 		if a101 == 18:
	 			break
	 		if a101 == 19:
	 			break
	 		if a101 == 20:
	 			break
while a10 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 		print('  ')
	 		a102 = int(input('10- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a102 == 1:
	 			break
	 		if a102 == 2:
	 			break
	 		if a102 == 3:
	 			break
	 		if a102 == 4:
	 			break
	 		if a102 == 5:
	 			break
	 		if a102 == 6:
	 			break
	 		if a102 == 7:
	 			break
	 		if a102 == 8:
	 			break
	 		if a102 == 9:
	 			break
	 		if a102 == 10:
	 			break
	 		if a102 == 11:
	 			break
	 		if a102 == 12:
	 			break
	 		if a102 == 13:
	 			break
	 		if a102 == 14:
	 			break
	 		if a102 == 15:
	 			break
	 		if a102 == 16:
	 			break
	 		if a102 == 17:
	 			break
	 		if a102 == 18:
	 			break
	 		if a102 == 19:
	 			break
	 		if a102 == 20:
	 			break
#" " " " " ". (10.hamle)
b10 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (10.hamle)
a11 = int(input('11- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))		
if a11 == liste:
	pass
while a11 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a111 = int(input('11- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a111 == 1:
	 			break
	 		if a111 == 2:
	 		  		break
	 		if a111 == 3:
	 			break
	 		if a111 == 4:
	 			break
	 		if a111 == 5:
	 			break
	 		if a111 == 6:
	 			break
	 		if a111 == 7:
	 			break
	 		if a111 == 8:
	 			break
	 		if a111 == 9:
	 			break
	 		if a111 == 10:
	 			break
	 		if a111 == 11:
	 			break
	 		if a111 == 12:
	 			break
	 		if a111 == 13:
	 			break
	 		if a111 == 14:
	 			break
	 		if a111 == 15:
	 			break
	 		if a111 == 16:
	 			break
	 		if a111 == 17:
	 			break
	 		if a111 == 18:
	 			break
	 		if a111 == 19:
	 			break
	 		if a111 == 20:
	 			break
while a11 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 		print('  ')
	 		a112 = int(input('11- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a112 == 1:
	 			break
	 		if a112 == 2:
	 			break
	 		if a112 == 3:
	 			break
	 		if a112 == 4:
	 			break
	 		if a112 == 5:
	 			break
	 		if a112 == 6:
	 			break
	 		if a112 == 7:
	 			break
	 		if a112 == 8:
	 			break
	 		if a112 == 9:
	 			break
	 		if a112 == 10:
	 			break
	 		if a112 == 11:
	 			break
	 		if a112 == 12:
	 			break
	 		if a112 == 13:
	 			break
	 		if a112 == 14:
	 			break
	 		if a112 == 15:
	 			break
	 		if a112 == 16:
	 			break
	 		if a112 == 17:
	 			break
	 		if a112 == 18:
	 			break
	 		if a112 == 19:
	 			break
	 		if a112 == 20:
	 			break
#" " " " " ". (11.hamle)
b11 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (11.hamle)
a12 = int(input('12- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))		
if a12 == liste:
	pass
while a12 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a121 = int(input('12- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a121 == 1:
	 			break
	 		if a121 == 2:
	 		  		break
	 		if a121 == 3:
	 			break
	 		if a121 == 4:
	 			break
	 		if a121 == 5:
	 			break
	 		if a121 == 6:
	 			break
	 		if a121 == 7:
	 			break
	 		if a121 == 8:
	 			break
	 		if a121 == 9:
	 			break
	 		if a121 == 10:
	 			break
	 		if a121 == 11:
	 			break
	 		if a121 == 12:
	 			break
	 		if a121 == 13:
	 			break
	 		if a121 == 14:
	 			break
	 		if a121 == 15:
	 			break
	 		if a121 == 16:
	 			break
	 		if a121 == 17:
	 			break
	 		if a121 == 18:
	 			break
	 		if a121 == 19:
	 			break
	 		if a121 == 20:
	 			break
while a12 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		print('  ')
	 		a122 = int(input('12- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a122 == 1:
	 			break
	 		if a122 == 2:
	 			break
	 		if a122 == 3:
	 			break
	 		if a122 == 4:
	 			break
	 		if a122 == 5:
	 			break
	 		if a122 == 6:
	 			break
	 		if a122 == 7:
	 			break
	 		if a122 == 8:
	 			break
	 		if a122 == 9:
	 			break
	 		if a122 == 10:
	 			break
	 		if a122 == 11:
	 			break
	 		if a122 == 12:
	 			break
	 		if a122 == 13:
	 			break
	 		if a122 == 14:
	 			break
	 		if a122 == 15:
	 			break
	 		if a122 == 16:
	 			break
	 		if a122 == 17:
	 			break
	 		if a122 == 18:
	 			break
	 		if a122 == 19:
	 			break
	 		if a122 == 20:
	 			break
#" " " " " ". (12.hamle)
b12 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (12.hamle)
a13 = int(input('13- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))	
if a13 == liste:
	pass	
while a13 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a131 = int(input('13- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a131 == 1:
	 			break
	 		if a131 == 2:
	 		  		break
	 		if a131 == 3:
	 			break
	 		if a131 == 4:
	 			break
	 		if a131 == 5:
	 			break
	 		if a131 == 6:
	 			break
	 		if a131 == 7:
	 			break
	 		if a131 == 8:
	 			break
	 		if a131 == 9:
	 			break
	 		if a131 == 10:
	 			break
	 		if a131 == 11:
	 			break
	 		if a131 == 12:
	 			break
	 		if a131 == 13:
	 			break
	 		if a131 == 14:
	 			break
	 		if a131 == 15:
	 			break
	 		if a131 == 16:
	 			break
	 		if a131 == 17:
	 			break
	 		if a131 == 18:
	 			break
	 		if a131 == 19:
	 			break
	 		if a131 == 20:
	 			break
while a13 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		print('  ')
	 		a132 = int(input('13- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a132 == 1:
	 			break
	 		if a132 == 2:
	 			break
	 		if a132 == 3:
	 			break
	 		if a132 == 4:
	 			break
	 		if a132 == 5:
	 			break
	 		if a132 == 6:
	 			break
	 		if a132 == 7:
	 			break
	 		if a132 == 8:
	 			break
	 		if a132 == 9:
	 			break
	 		if a132 == 10:
	 			break
	 		if a132 == 11:
	 			break
	 		if a132 == 12:
	 			break
	 		if a132 == 13:
	 			break
	 		if a132 == 14:
	 			break
	 		if a132 == 15:
	 			break
	 		if a132 == 16:
	 			break
	 		if a132 == 17:
	 			break
	 		if a132 == 18:
	 			break
	 		if a132 == 19:
	 			break
	 		if a132 == 20:
	 			break
#" " " " " ". (13.hamle)
b13 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (13.hamle)
a14 = int(input('14- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
if a14 == liste:
	pass
while a14 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a141 = int(input('14- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a141 == 1:
	 			break
	 		if a141 == 2:
	 		  		break
	 		if a141 == 3:
	 			break
	 		if a141 == 4:
	 			break
	 		if a141 == 5:
	 			break
	 		if a141 == 6:
	 			break
	 		if a141 == 7:
	 			break
	 		if a141 == 8:
	 			break
	 		if a141 == 9:
	 			break
	 		if a141 == 10:
	 			break
	 		if a141 == 11:
	 			break
	 		if a141 == 12:
	 			break
	 		if a141 == 13:
	 			break
	 		if a141 == 14:
	 			break
	 		if a141 == 15:
	 			break
	 		if a141 == 16:
	 			break
	 		if a141 == 17:
	 			break
	 		if a141 == 18:
	 			break
	 		if a141 == 19:
	 			break
	 		if a141 == 20:
	 			break
while a14 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.')
	 		print('  ')
	 		a142 = int(input('14- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a142 == 1:
	 			break
	 		if a142 == 2:
	 			break
	 		if a142 == 3:
	 			break
	 		if a142 == 4:
	 			break
	 		if a142 == 5:
	 			break
	 		if a142 == 6:
	 			break
	 		if a142 == 7:
	 			break
	 		if a142 == 8:
	 			break
	 		if a142 == 9:
	 			break
	 		if a142 == 10:
	 			break
	 		if a142 == 11:
	 			break
	 		if a142 == 12:
	 			break
	 		if a142 == 13:
	 			break
	 		if a142 == 14:
	 			break
	 		if a142 == 15:
	 			break
	 		if a142 == 16:
	 			break
	 		if a142 == 17:
	 			break
	 		if a142 == 18:
	 			break
	 		if a142 == 19:
	 			break
	 		if a142 == 20:
	 			break
#" " " " " ". (14.hamle)
b14 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (14.hamle)
a15 = int(input('15- LÜTFEN 0 İLA 20 ARASINDA TAM SAYI GİRİN:'))
#" " " " " ". (15.hamle)
if a15 == liste:
	pass
while a15 > 20:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		a151 = int(input('15- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a151 == 1:
	 			break
	 		if a151 == 2:
	 		  		break
	 		if a151 == 3:
	 			break
	 		if a151 == 4:
	 			break
	 		if a151 == 5:
	 			break
	 		if a151 == 6:
	 			break
	 		if a151 == 7:
	 			break
	 		if a151 == 8:
	 			break
	 		if a151 == 9:
	 			break
	 		if a151 == 10:
	 			break
	 		if a151 == 11:
	 			break
	 		if a151 == 12:
	 			break
	 		if a151 == 13:
	 			break
	 		if a151 == 14:
	 			break
	 		if a151 == 15:
	 			break
	 		if a151 == 16:
	 			break
	 		if a151 == 17:
	 			break
	 		if a151 == 18:
	 			break
	 		if a151 == 19:
	 			break
	 		if a151 == 20:
	 			break
while a15 < 0:
	 		print('HATA: Girdiğiniz tam sayı belirtilen aralıklarda olmalı, tekrar deneyin.\n')
	 		print('  ')
	 		a152 = int(input('15- LÜTFEN 0 İLA 20 ARASINDA BİR TAM SAYI GİRİN:'))
	 		if a152 == 1:
	 			break
	 		if a152 == 2:
	 			break
	 		if a152 == 3:
	 			break
	 		if a152 == 4:
	 			break
	 		if a152 == 5:
	 			break
	 		if a152 == 6:
	 			break
	 		if a152 == 7:
	 			break
	 		if a152 == 8:
	 			break
	 		if a152 == 9:
	 			break
	 		if a152 == 10:
	 			break
	 		if a152 == 11:
	 			break
	 		if a152 == 12:
	 			break
	 		if a152 == 13:
	 			break
	 		if a152 == 14:
	 			break
	 		if a152 == 15:
	 			break
	 		if a152 == 16:
	 			break
	 		if a152 == 17:
	 			break
	 		if a152 == 18:
	 			break
	 		if a152 == 19:
	 			break
	 		if a152 == 20:
	 			break
b15 = print(('MAKİNE:'),(random.randint(0,20)))
#" " " " " " " " " ". (15.hamle)
print(' ')
#Boşluk
print('+ Cevaplarınızı kontrol ediniz.')
#Kullanıcıya cevapların arasından doğruları seçmesi isteniyor.
print(' ')
#Boşluk
print('+ Kaç doğru cevabınız var?')                                                   
cevap = int(input('- ' ))
#Cevap soruluyor.                           
if int(cevap) == 1 :
    print('   ')
    print('Normal: Bu zor bir şans oyunu. Yine de durumunuz kötü sayılmaz.')
#Python'a dedik ki: Kullanıcı cevaba "1" dediyse 'Normal' adlı yazıyı göster!  	
if int(cevap) == 2 :
	print('   ')
	print('Kısmen Şanslı: Sıradan bir insan kadar şanssız değilsiniz, kimi zaman şansınız herkesten çok daha yüksek düzeye çıkabilir.')
#" " " ': " " '2' " 'Kısmen Şanslı' " " "!
if int(cevap) == 5 :
	print('   ')
	print("Tescilli Şanslı: Şanslı'dan daha istikrarlı bir şansınız vardır. Şanslı'nın şansı bir gün yüksek bir gün düşük olabi-lir fakat sizin şansınız ortada ve stabildir.")
#" " " ': " " '5' " 'Tescilli Şanslı' " " "! 
if int(cevap) == 0 :
	print('   ')
	print('. . .')
#" " " ': " " '0' " '. . .' " " "!
if int(cevap) == 3 :
	print('   ')
	print('Şanslı: Şans oyunlarında herkesten bir tık üstünsünüz.')
#" " " ': " " '4' " 'Şanslı' " " "!
elif int(cevap) > 15:
	print("\n. . . : Toplam sorudan daha fazla doğru cevaplamak yetenek ister.")
elif int(cevap) > 5:
	print('\nŞANSLI: Muhtemelen imkansız olan bir olayı başardınız. Oldukça gerçekçi.')
if int(cevap) == 4:
	print('\nŞanslı: Şans oyunlarında herkesten bir tık üstünsünüz.'

Kodunuzdaki girintilemeleri göremiyoruz.Buraya göre düzenler misiniz?

ˋˋˋpython
kodlar
ˋˋˋ
Ben de onun belirttiği yaptım ama oluşmadı. Neden bilmiyorum.

Her şekilde editlledim olmadı? İlk yorumumdaki gibi yaptım hâlâ düzelmedi, kodla mı alakalı acaba.

Kodun düzgün gözükmemesinin sebebi yazdığınız tırnak karakterlerinin, olması gereken tırnak karakteri ile aynı gözüktüğü halde aynı olmaması:

>>> ord("ˋ") # sizin yazdığınız
715
>>> ord("`") # olması gereken
96
>>> 

Sizin ikinciyi, yani ` karakterini yazmanız lazım. Klavyenizden yazmak yerine buradan koplayabilirsiniz:
```

Bu sorunun sebebini bilmiyorum, belki kullandığınız karakter seti ile alakalıdır.


Kodun renklendirmesinin doğru olması için de ilk satırın sonuna python ekleyebilirsiniz:

```python
print(“a”)
```

Bu yazdığım şöyle gözükecektir:

print("a")

Kodun en baştan düzgün bir şekilde yazılması lazım, daha sonra sorduğunuz konu ile ilgileniriz.
Verdiğim linkleri okuyup kodu baştan yazmaya çalışın:



Neden ki? Kod kullanıcı doğru kullanırsa düzgün çalışıyor, sadece hata mesajı eklemek istedim.

Kod çok okunaksız ve kolayca çok daha kısa hale getirilebilecek bir durumda. Sürekli kopyalayıp yapıştırdığınız kodlar zaten yanlış bir yolu izlediğinizin göstergesi, şu if a___ == _: kısımlarındaki değişken isimlerini ve sayıları teker teker mi yazdınız merak ediyorum doğrusu.

Farkındayım fakat bildiklerim kadarıyla bunları yapabildim. Benim sorumun kodla da pek bir ilgisi yok aslında, arkadaş sorunca attım.

Kod görünümü kazandıramazsanız nasıl test edeceğiz?

Bir şey test etmeyeceğiz ki, hata yakalamak ile ilgili bilgi almak istedim.

Hatayı nerede nasıl yapacağız diye bakan insanlar kodu deneyerek cevap veriyorlar.Test etmek derken bunu kastetmiştim.

eğer virgül yada nokta içeriyorsa hata mesajı verebilirsiniz

Bu yanlis bir varsayim:

try...except’in soru mevhumu veya tekrarlama mekanizmasi olmadigina gore try...except kullaninca soruyu tekrar sormasi icine yazilan kodla ilgili bir sey.

Hatta dahasi da var:

try icine degisken koyulmasi da tek basina bir seyi degistirmedigine gore hangi degiskenin ne sekilde koyuldugu da onemli.

Yani sadece sorun cikaran kodlari degil, cozmek icin yapilan denemeleri de gormemiz lazim.

Ilk soruyu da cevaplayayim:

Hatayi yakalamak disinda hic bir sey.

Ama asil sorulmak istenen bu degil sanki? Kullanici float deger girerse belirli bir sey yapmak istiyorsun gibi geldi bana?

Evet, hata yakalayacağım fakat nasıl yapacağımı kestiremedim. Mesela try içine kullanıcı 1.2 girdiğini varsay dediysem ilk sorudan sonra 1.2 girilmiş aynı soru ile karşılaşıyorum, enter deyince hata mesajını veriyor fakat diğer işlemlere devam edemiyor.

Mevcut koddan mi bahsediyoruz? Ben onu okumadim, hic bir zaman okuyacagimi da zannetmiyorum :S

Yeni bir kod uzerinden konusalim?

Bu guzel mesela. Diger islemlere devam etmek istiyorsan while’i ve else’i kaldirabilirsin.

Edit: Python’a ozgu okunamaz while...else kullanilmis. Soyle duzeltelim:

while True:
	try:
		a = int(input("Bir int say giriniz:"))
		break
	except ValueError:
		print("Lütfen tekrar deneyin")

Diger islemlere devam etmek istiyorsan while’i ve break’i kaldirabilirsin.

Teşekkürler, for döngüsü ile hata yakalama çok karışık geliyor :confused:

Ufak bir tavsiyede bulunayım. break deyiminin çalışacağı koşulları tek tek tanımlamak yerine aşağıdaki gibi bir kod yazabilirsiniz.

if a501 in range(1, 21):
    break

Bu ifade, a501 değişkeni, 1 ve 21 sayıları arasında (1 dahil, 21 hariç) bir değer aldığında break deyimini çalıştırır.