Я пытаюсь создать программу брутфорса, и первым делом я сделал ее так, чтобы я мог циклически перебирать символы с числами. Но когда я меняю переменную, это не влияет на печатаемый символ.
chars = ["a", "b", "c", "d", "f", "g", "h", "i", "j", "k", "l", "m",
"n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
n1 = 0
#for future expancion
n2 = 0
n3 = 0
n4 = 0
char1 = chars[n1]
#for future expansion
char2 = chars[n2]
char3 = chars[n3]
char4 = chars[n4]
while(n1 < 26):
print(n1)
n1 += 1
print(char1)
На выходе получается просто 0, a, 1, a, 2 и т. д. Но я хочу, чтобы персонажи тоже поднялись.
Это не лист Excel, где ячейка (или переменная) меняет свое значение только потому, что вы изменили другую ячейку (переменную). Так работает императивное программирование. Если вы хотите, чтобы значение char1 изменилось, вы должны его изменить.
@ Аран-Фей, теперь я понимаю, почему делаются такие ошибки. Из-за зло Excel макропрограммирование.






Обновление n1 не приводит к автоматическому обновлению char1. Эта переменная не является указателем на определенную позицию в массиве (и даже если бы это было так, изменение смещения указателя впоследствии не повлияло бы на сам указатель), но она принимает значение, которое индекс в массиве имел в момент переуступки.
Вам придется переназначить значение
n1 += 1
char1 = chars[n1]
print(char1)
или, возможно, более понятный, доступ к массиву напрямую:
n1 += 1
print(chars[n1])
print(chars[n1])