Selam pythonda bir döngünün sonuna geldikten sonra o döngünün yeniden 0 lanarak başlamasını nasıl sağlarız? Ben yeni ogreniyorum ve derslerdeki xox oyununun bittikten sonra yenilenmesini istiyorum ama yapamadim.Yardımlarınız için şimdiden teşekkürler.
xox=[
["___","___","___"],
["___","___","___"],
["___","___","___"]
]
qalib=[
[[0,0],[0,1],[0,2]],[[0,1],[1,1],[2,1]],[[0,2],[1,2],[2,2]],
[[0,0],[1,0],[2,0]],[[1,0],[1,1],[1,2]],[[2,0],[2,1],[2,2]],
[[0,0],[1,1],[2,2]],[[0,2],[1,1],[2,0]]
]
print("\n"*15)
for i in xox:
print("\t".expandtabs(27), *i,end="\n"*2)
x_d=[]
o_d=[]
o1=input("1-Cİ OYUNÇU : "+"".center(17))
o2=input("2-Cİ OYUNÇU : "+"".center(17))
m=input("İLK {O} - NUN VƏ YA {X} - İN BAŞLAYACAĞINI SEÇİN : ")
m=m.upper()
sira=0
sira2=0
sira1=1
z1="1 - Cİ OYUNÇU"
z2="2 - Cİ OYUNÇU"
z = o1.upper()
s = o2.upper()
while True:
if m=="X":
sira+=2
m="r"
elif m=="O":
sira+=1
m="r"
if sira % 2 == 0:
isaret = "X".center(3)
print(f"\n{z1} : {z}")
else:
isaret = "O".center(3)
print(f"\n{z2} : {s}")
try:
x=input("YUXARIDAN AŞAĞIYA DOĞRU SAY [1 , 2 , 3 ] : ".ljust(27))
if x == "q":
break
x = int(x)
x -= 1
xox[x]
y = input("SOLDAN SAĞA DOĞRU SAY [1 , 2 , 3 ] : ".ljust(27))
if y == "q":
break
y = int(y)
y -= 1
print("\n"*5)
if x<0 or y<0:
print("0 - DAN BÖYÜK RƏQƏM YAZIN!")
elif x>2 or y>2:
print("3 -DƏN KİÇİK RƏQƏM YAZIN!")
else:
if xox[x][y]=="___":
xox[x][y]=isaret
if isaret == "X".center(3):
x_d += [[x , y]]
else:
o_d += [[x , y]]
sira1 += 1
sira += 1
else:
print("BU XANA DOLUDUR!")
except ValueError:
print("RƏQƏM YAZIN!")
except IndexError:
print("3 - DƏN KİÇİK RƏQƏM YAZIN!")
for i in xox:
print("\t".expandtabs(27), *i, end="\n"*2)
for i in qalib:
a=[z for z in i if z in x_d]
b=[z for z in i if z in o_d]
if len(a)==len(i):
print(f"""
\t ~~~~~~~~~~~~~~~~~~~~~~~~~~~
\t|{"".center(27)}|
\t|{z.center(27)}|
\t|{"QAZANDI!".center(27)}|
\t|{"TEBRİK EDİRİK!".center(27)}|
\t|{"".center(27)}|
\t ~~~~~~~~~~~~~~~~~~~~~~~~~~~
""".expandtabs(19))
sira2=1
elif len(b)==len(i):
print(f"""
\t ~~~~~~~~~~~~~~~~~~~~~~~~~~~
\t|{"".center(27)}|
\t|{s.center(27)}|
\t|{"QAZANDI!".center(27)}|
\t|{"TEBRİK EDİRİK!".center(27)}|
\t|{"".center(27)}|
\t ~~~~~~~~~~~~~~~~~~~~~~~~~~~
""".expandtabs(19))
sira2=1
if sira1 == 10:
if len(a)!=len(i) and len(b)!=len(i):
print(f"""
\t ~~~~~~~~~~~~~~~~~~~~~~~~~~~
\t|{"".center(27)}|
\t|{"DOSTLUQ".center(27)}|
\t|{"QAZANDI!".center(27)}|
\t|{"TEBRİK EDİRİK!".center(27)}|
\t|{"".center(27)}|
\t ~~~~~~~~~~~~~~~~~~~~~~~~~~~
""".expandtabs(19))
sira2=1
if sira2==1:
xox=[
["___","___","___"],
["___","___","___"],
["___","___","___"]
]
qalib=[
[[0,0],[0,1],[0,2]],[[0,1],[1,1],[2,1]],[[0,2],[1,2],[2,2]],
[[0,0],[1,0],[2,0]],[[1,0],[1,1],[1,2]],[[2,0],[2,1],[2,2]],
[[0,0],[1,1],[2,2]],[[0,2],[1,1],[2,0]]
]
print("\n"*15)
for i in xox:
print("\t".expandtabs(27), *i,end="\n"*2)
x_d=[]
o_d=[]
o1=input("1-Cİ OYUNÇU : "+"".center(17))
o2=input("2-Cİ OYUNÇU : "+"".center(17))
m=input("İLK {O} - NUN VƏ YA {X} - İN BAŞLAYACAĞINI SEÇİN : ")
m=m.upper()
sira=0
sira2=0
sira1=1
z1="1 - Cİ OYUNÇU"
z2="2 - Cİ OYUNÇU"
z = o1.upper()
s = o2.upper()
Tekrar kodlardan kacinmanin bir yolunu bilen varmi
Soyle bir kodla sonsuz dongu elde ediyorum aslinda
Ama alternatifini bilen varmi?