当前位置:首页>python>24.Python实战__判断“回文数”

24.Python实战__判断“回文数”

  • 2026-10-11 07:58:18
24.Python实战__判断“回文数”
    什么是“回文数”就是头尾对称的数,如12321,4554,这些数从中间对称;这一节目的是在窗口输入一个数字,点击判断按钮,判断是不是回文数;
运行效果如下
    代码如何实现,本节用到的知识点是字符串的索引,前面讲过,列表和字符串 都可以运用切片、索引,比如:
一、列表:
list_1 = ["苹果", "香蕉", "草莓"]
list_[0] 就是 “苹果”
list_[1] 就是 “香蕉”
list_[2] 就是 “草莓”
上面的 0 、1、2 就是列表中元素对应的 位置索引值,索引是从0开始的。
倒着从后面开始取各个元素:
list_[-1] 就是 “草莓”,就是取 倒数第 1个;
list_[-2] 就是 “香蕉”,就是取 倒数第 2个;
list_[-3] 就是 “苹果”,就是取 倒数第 3个;
上面的 -1 、-2、-3 就是列表中元素对应的位置索引值。
二、字符串:
a = "353"
上面的a是一个字符串,同样可以切片
a[0] 就是 3;
a[1] 就是 5;
a[2] 就是 3;
倒着从后面开始取各个元素:
a[-1]就是 3;
a[-2]就是 5;
a[-3]就是 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())
    大家有空了自己敲敲上面的代码运行下,上面主要用到的就是字符串的索引,会了也是很有意思的,可以留言相互交流。

最新文章

随机文章