gpt4 book ai didi

python - 类函数不接受 self 。多变的

转载 作者:太空宇宙 更新时间:2023-11-04 10:25:23 25 4
gpt4 key购买 nike

我正在尝试在类中创建一个函数,用于在 Enigma 机器中旋转转子。但是,当我尝试告诉它使用哪个转子时,它不接受,如下面的代码所示:

from collections import deque

class Rotors:
def __init__(self):
self.a = deque("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
self.vi = deque("JPGVOUMFYQBENHZRDKASXLICTW")
self.vii = deque("NZJHGRCXMYSWBOUFAIVLPEKQDT")
self.viii = deque("FKQHTLXOCBJSPDZRAMEWNIUYGV")
self.rotor_vi = [self.a, self.vi]
self.rotor_vii = [self.a, self.vii]
self.rotor_viii = [self.a, self.viii]
self.rotors = [self.rotor_vi, self.rotor_vii, self.rotor_viii]
self.reflector = deque("FVPJIAOYEDRZXWGCTKUQSBNMHL")


def rotate_rotor(self, rotor):
rotor.rotate(1)

x = Rotors()
x.rotate_rotor(self.vi)

输出为:

 Traceback (most recent call last):
File "C:\Users\Aaron\Documents\Programs\Enigma.py", line 20, in <module>
x.rotate_rotor(self.vi)
NameError: name 'self' is not defined
[Finished in 0.1s]

最佳答案

x.rotate_rotor(self.vi)

应该是:

x.rotate_rotor(x.vi)

关于python - 类函数不接受 self 。多变的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29637148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com