首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类函数不接受自我。变量

类函数不接受自我。变量
EN

Stack Overflow用户
提问于 2015-04-14 20:50:02
回答 1查看 63关注 0票数 1

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

代码语言:javascript
复制
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)

它的输出为:

代码语言:javascript
复制
 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]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-14 20:51:16

代码语言:javascript
复制
x.rotate_rotor(self.vi)

应:

代码语言:javascript
复制
x.rotate_rotor(x.vi)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29637148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档