上面的 0 、1、2 就是列表中元素对应的 位置索引值,索引是从0开始的。list_[-1] 就是 “草莓”,就是取 倒数第 1个;list_[-2] 就是 “香蕉”,就是取 倒数第 2个;list_[-3] 就是 “苹果”,就是取 倒数第 3个;上面的 -1 、-2、-3 就是列表中元素对应的位置索引值。from PySide6.QtCore import Qtfrom PySide6.QtWidgets import QWidget, QApplication, QPushButton, QGridLayout, QLineEdit, QLabel
class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("判断回文数") self.resize(350, 170) # 下面是设置CSS样式,后面再讲,可以不用看 self.setStyleSheet(""" QLabel{ font-size:20px; color: blue; } """) # 创建网格布局 self.main_lay = QGridLayout() self.main_lay.setContentsMargins(20, 20, 20, 0) # 设置水平布局主布局 self.setLayout(self.main_lay) self.main_lay.setAlignment(Qt.AlignTop) self.main_lay.setSpacing(20) # 最后创建实例方法,在实例方法中实现其它功能 self.setup_01()
def setup_01(self): # 创建输入框 self.line = QLineEdit() # 为输入框设置占位提示文本 self.line.setPlaceholderText("请输入一个大于0的数") # 设置文字居中 self.line.setAlignment(Qt.AlignmentFlag.AlignCenter) # 创建按钮 self.btn = QPushButton("判定回文数") # 按钮连接槽函数 calculate self.btn.clicked.connect(self.calculate) # 创建展示标签,显示结果 self.label = QLabel() # 设置文字居中 self.label.setAlignment(Qt.AlignmentFlag.AlignCenter) # 把上面控件添加到网格布局中 self.main_lay.addWidget(self.line, 0, 0) self.main_lay.addWidget(self.btn, 1, 0) self.main_lay.addWidget(self.label, 2, 0)
def calculate(self): # 拿到输入框的数据 num = self.line.text() # 判断数据长度并取一半 length = len(num)//2 # 创建一个判断标志 flage = True for i in range(length): # 判断前后字符是否相等 if num[i] != num[-i-1]: flage = False # 不相同则结束循环 break if flage: self.label.setText(f"{num} 是回文数!") else: self.label.setText(f"{num} 不是回文数!")
if __name__ == "__main__": import sys app = QApplication(sys.argv) # 实例化一个类 win win = Window() # 显示实例化的类窗口 win.show() # 运行主程序 sys.exit(app.exec())
大家有空了自己敲敲上面的代码运行下,上面主要用到的就是字符串的索引,会了也是很有意思的,可以留言相互交流。