Я новичок в Python и пробую свой первый цикл while.
Приведенный ниже код предназначен для перебора определенной формулы, определенной пользователем в переменной number_of_moves.
Когда i = 1
, он должен выполнить одну формулу, однако, когда i > 1
, он должен выполнить другую.Поэтому я определил if else оператор внутри формулы.
Проблема в том, что когда i > 1
он не берет вторую формулу, а продолжает использовать первую определенную формулу, которая является (22695477 * x + 1) % 2 ** 31
.
Фактически, оператор else x2
должен равняться выводу из предыдущей итерации x1
, а x3
должен равняться значению из вывода x2
... и так далее ... используя эту формулу (22695477 * x2 + 1) % 2 ** 31
.
print("Choose the type of game(1:Easy;2 Difficult)")
levelinput = int(input())
print("")
print("Enter the number of moves")
number_of_moves = int(input())
i =1
x = 79
randomvalue = (22695477*x+1)%2**31
x2 = randomvalue
machine = int()
while i <= number_of_moves:
print("")
print("Choose your move number", i ,"(0 or 1)")
move_selection = int(input())
if i == 1:
randomvalue = (22695477*x+1)%2**31
else:
randomvalue = (22695477*x2+1)%2**31
i = i +1
if randomvalue <= 2**31:
machine == int(0)
else:
machine == int(1)
def resultgame (move_selection,machine):
if move_selection == machine:
return("Computer Wins")
else:
return("Player Wins")
result = resultgame
print("player = ", move_selection, "machine = ", machine,"-", result(move_selection,machine))