I'm making a code that would allow the player to make the player choose the slot for the the tic tac toe game. I just need to shorten the code because a lot of it looks repetitive. There is a lot more code I want to add to my file and It's a lot easier to scroll less than 400 lines of code. I have used this block 4 times total because I cannot figure out a way to make this code less.
Код: Выделить всё
while True:
player1 = input("Player 1, where do you want to place your X?\n")
if player1 == "1":
if s1 == " ":
s1 = "X"
print_board(s1, s2, s3, s4, s5, s6, s7, s8, s9)
break
else:
print("That square is already taken. Please choose another square.")
continue
elif player1 == "2":
if s2 == " ":
s2 = "X"
print_board(s1, s2, s3, s4, s5, s6, s7, s8, s9)
break
else:
print("That square is already taken. Please choose another square.")
continue
elif player1 == "3":
if s3 == " ":
s3 = "X"
print_board(s1, s2, s3, s4, s5, s6, s7, s8, s9)
break
else:
print("That square is already taken. Please choose another square.")
continue
elif player1 == "4":
if s4 == " ":
s4 = "X"
print_board(s1, s2, s3, s4, s5, s6, s7, s8, s9)
break
else:
print("That square is already taken. Please choose another square.")
continue
elif player1 == "5":
if s5 == " ":
s5 = "X"
print_board(s1, s2, s3, s4, s5, s6, s7, s8, s9)
break
else:
print("That square is already taken. Please choose another square.")
continue
elif player1 == "6":
if s6 == " ":
s6 = "X"
print_board(s1, s2, s3, s4, s5, s6, s7, s8, s9)
break
else:
print("That square is already taken. Please choose another square.")
continue
elif player1 == "7":
if s7 == " ":
s7 = "X"
print_board(s1, s2, s3, s4, s5, s6, s7, s8, s9)
break
else:
print("That square is already taken. Please choose another square.")
continue
elif player1 == "8":
if s8 == " ":
s8 = "X"
print_board(s1, s2, s3, s4, s5, s6, s7, s8, s9)
break
else:
print("That square is already taken. Please choose another square.")
continue
elif player1 == "9":
if s9 == " ":
s9 = "X"
print_board(s1, s2, s3, s4, s5, s6, s7, s8, s9)
break
else:
print("That square is already taken. Please choose another square.")
continue
else:
print("Invalid input")
continue
Источник: https://stackoverflow.com/questions/781 ... -this-code