太难了!换了一种更形象的方式,还是差一点就对了QWQ
  • 板块B2002 Hello,World!
  • 楼主QAQ5
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/7/21 12:10
  • 上次更新2024/7/21 14:15:42
查看原帖
太难了!换了一种更形象的方式,还是差一点就对了QWQ
749028
QAQ5楼主2024/7/21 12:10
# 输出 你好,世界!

# 首先需要一个键盘,不知道python怎么直接创建对象,所以都只能先创建类
# 键盘类
class KeyBoard:
    # 初始
    def __init__(self):
        # 这个键盘只有字母键再额外加几个,还有一个CapsLk大写锁定键,它的外貌
        self.appearance = [ '!',
                            'QWERTYUIOP',
                             'ASDFGHJKL',
                              'ZXCVBNM,',
                      'CapsLk']
        # 当前大小写状态
        self.bigWrite = False
        # 连接的设备
        self.device = None
    # 首先要将键盘连接到显示器
    def connect(self,device):
        # 连接到的设备
        device.connect = True
        self.device = device
    # 连接到了就可以传输数据
    def transmit(self,data):
        # 设备接收数据
        self.device.receive(data)
    # 敲击按键
    def click(self,y,x=None):
        # 如果按下的是大写锁定键就只改个这
        if x == None:
            if self.appearance[y] == 'CapsLk':
                self.bigWrite = not self.bigWrite
            return
        # 首先检查是否有设备连接
        if self.device == None:
            print('设备未连接!')
            return
        # 再检查设备类型受不受支持
        if self.device.type != 'screen':
            print('未知设备!')
            return
        # 是大写还是小写
        if self.bigWrite == True:
            # 传输大写字母
            data = self.appearance[y][x]
            self.transmit(data)
        else:
            # 传输小写字母
            data = self.appearance[y][x].lower()
            self.transmit(data)
# 显示器类
class Screen:
    # 初
    def __init__(self):
        # 设备类型是屏幕
        self.type = 'screen'
        # 是否连接
        self.connect = False
    # 显示数据,不用self也要强制加?
    def show(self,char):
        print(char,end='')
    # 接收数据
    def receive(self,data):
        # 是否未连接
        if self.connect == False:
            print('未成功连接!')
            return
        # 接收的数据是否受支持
        if not isinstance(data,str):
            print('未知数据!')
            return
        # 显示数据
        self.show(data)
# 创建一个键盘
keyBoard = KeyBoard()
# 创建一个显示器
monitor = Screen()
# 将键盘连接上显示器
keyBoard.connect(monitor)
# 接着在键盘上敲击
# 第一个字母H是大写字母,先大写按锁定
keyBoard.click(4)
# 再敲击H键
keyBoard.click(2,5)
# 后面有一串字母是小写,再按一次大写锁定
keyBoard.click(4)
# 敲击E键
keyBoard.click(1,2)
# 再敲击L键
keyBoard.click(2,8)
# 接着第二个L
keyBoard.click(2,8)
# O键
keyBoard.click(1,8)
# 再一个逗号还是空格来着
keyBoard.click(3,7)
# 接着是世界
keyBoard.click(4)
keyBoard.click(1,2)
keyBoard.click(4)
keyBoard.click(1,8)
keyBoard.click(1,3)
keyBoard.click(2,2)
keyBoard.click(4)
keyBoard.click(0,0)
2024/7/21 12:10
加载中...