当前位置:首页>python>14.业余快速入门Python__实战:输出乘法口诀表

14.业余快速入门Python__实战:输出乘法口诀表

  • 2026-09-12 13:25:12
14.业余快速入门Python__实战:输出乘法口诀表
     上节聊了聊常用的三种布局,水平布局、垂直布局、网格布局,今天介绍一个新的控件,多行文本框QTextEdit(),前面讲过单行文本框QLineEdit(),顾名思义,单行文本只能输入一行文本,多行文本能输入多行文本,文字过长时可以自动换行,控件效果如下:
      今天来做一个简单的小案例,点击一个按钮,在多行文本框内生成乘法口诀表,代码运行效果如下:
    下面就是如何实现乘法口诀的输出,这种大量的输出一般是使用循环,这里使用for循环,而且是二维循环,如果说一维循环是一行或一列数据输出,那二维就是多行多列的输出;
for  i  in  range(1, 10):       for  j  in  range(1, i+1):       # 口诀表中的每行row        row = f"{j}x{i}={j*i}"        # 各组数间 添加2个空格       text = text + row + "  "         # 每行结束(即内循环结束)加一个 “换行符 ”实现换行    text = row + "\n"
把上面的text对象设置给多行文本框即可,设置文本采用setText(text),同单行文本输入框一样。
from PySide6.QtWidgets import QWidget,      QApplication, QPushButton, QGridLayout, QTextEditclass Window(QWidget):      def __init__(self):            super().__init__()            self.setWindowTitle("输出乘法口诀表")            self.resize(550, 250)            # 创建网格布局            self.main_lay = QGridLayout()            # 设置网格布局为主布局            self.setLayout(self.main_lay)            self.main_lay.setSpacing(10)            self.setup_01()      def setup_01(self):             # 创建一个多行文本输入框            self.text_01 = QTextEdit(self)             self.text_01.setPlaceholderText("这是一个多行文本输入框")             self.btn = QPushButton("生成乘法口诀表", self)             self.btn.clicked.connect(self.sheet)             # 把上面控件添加到布局中             self.main_lay.addWidget(self.text_01, 0, 0)             self.main_lay.addWidget(self.btn, 1, 0)      def sheet(self):             text = ""             for i in range(1, 10):              for j in range(1, i+1):              row =f"{j}x{i}={j*i}"         text = text + row + " "         # 第行结束添加换行       text = text + "\n"    self.text_01.setText(text)if __name__ == "__main__":      import sys      app = QApplication(sys.argv)      win = Window()      win.show()      sys.exit(app.exec())
代码解释:
1)range( start, end, step)
函数用于生成一个整数序列,常用于循环控制。 
2) 参数说明①start:序列起始值(默认0)
②end:序列结束值(不包含结束值)
③step:可选,步长(默认1,可为负数实现递减)
3) 步长逻辑
① 正步长:start<stop 
如range(0,5,2) → 0, 2, 4;
② 负步长:start>stop 
如range(5,0,-2) → 5, 3, 1
    大家一定要自己动手敲下,并运行一下,每敲一次就有不一样的理解的。

最新文章

随机文章