如何实现只有第一行代码只有选择了是才执行第2行代码
时间: 2024-03-02 12:50:09 浏览: 15
你可以通过判断 `tkinter.messagebox.askquestion()` 返回值是否为 `'yes'` 来实现只有选择了是才执行第2行代码。
具体实现方式如下:
```
if tkinter.messagebox.askquestion('提示', '确定要删除吗?') == 'yes':
cursor.execute("DELETE FROM 学生表 WHERE 学号 = '{}'".format(id))
conn.commit()
tree.delete(*tree.get_children())
cursor.execute('SELECT * FROM 学生表')
row = cursor.fetchall()
for row in all:
print(row)
tree.insert('', "end", values=row)
```
在第一行代码后面添加一个 `if` 语句,判断 `tkinter.messagebox.askquestion()` 返回值是否为 `'yes'`。如果是,则执行第2行代码及以后的代码,否则不执行。这样就能够实现只有选择了是才执行第2行代码的功能。
相关问题
取数据第一行到倒数第2行代码
抱歉,我无法直接执行代码,因为我是一个文本模型。然而,你可以使用Python中的切片操作来提取数据的第一行到倒数第二行。以下是一个示例:
```python
data = your_data # 假设你的数据存储在名为"your_data"的变量中
extracted_data = data[:-1] # 提取第一行到倒数第二行
```
请将"your_data"替换为你实际的数据变量名,并将"extracted_data"设置为你想要存储提取结果的变量名。
每次都执行选择第一行这里的代码,按下其他行的代码检测不出来
你说得对,程序中的选择第一行代码会覆盖其他行的选择代码,导致其他行的按键检测无法正常工作,这样会导致按键检测不准确。为了解决这个问题,需要在每次检测之前,先将其他行的选择代码置为高电平状态,再选择对应行进行检测。修改后的程序如下所示:
```
unsigned char MatrixKey()
{
unsigned char KeyNumber = 0;
P1 = 0xFF;
P1_3 = 0;
if(P1_7 == 0) {Delay(20); while(P1_7 == 0); Delay(20); KeyNumber = 1;}
if(P1_6 == 0) {Delay(20); while(P1_6 == 0); Delay(20); KeyNumber = 5;}
if(P1_5 == 0) {Delay(20); while(P1_5 == 0); Delay(20); KeyNumber = 9;}
if(P1_4 == 0) {Delay(20); while(P1_4 == 0); Delay(20); KeyNumber = 13;}
P1 = 0xFF;
P1_2 = 0;
if(P1_7 == 0) {Delay(20); while(P1_7 == 0); Delay(20); KeyNumber = 2;}
if(P1_6 == 0) {Delay(20); while(P1_6 == 0); Delay(20); KeyNumber = 6;}
if(P1_5 == 0) {Delay(20); while(P1_5 == 0); Delay(20); KeyNumber = 10;}
if(P1_4 == 0) {Delay(20); while(P1_4 == 0); Delay(20); KeyNumber = 14;}
P1 = 0xFF;
P1_1 = 0;
if(P1_7 == 0) {Delay(20); while(P1_7 == 0); Delay(20); KeyNumber = 3;}
if(P1_6 == 0) {Delay(20); while(P1_6 == 0); Delay(20); KeyNumber = 7;}
if(P1_5 == 0) {Delay(20); while(P1_5 == 0); Delay(20); KeyNumber = 11;}
if(P1_4 == 0) {Delay(20); while(P1_4 == 0); Delay(20); KeyNumber = 15;}
P1 = 0xFF;
P1_0 = 0;
if(P1_7 == 0) {Delay(20); while(P1_7 == 0); Delay(20); KeyNumber = 4;}
if(P1_6 == 0) {Delay(20); while(P1_6 == 0); Delay(20); KeyNumber = 8;}
if(P1_5 == 0) {Delay(20); while(P1_5 == 0); Delay(20); KeyNumber = 12;}
if(P1_4 == 0) {Delay(20); while(P1_4 == 0); Delay(20); KeyNumber = 16;}
return KeyNumber;
}
```
修改后的程序,在选择每行进行按键检测之前,都将其他行的选择代码置为高电平状态,保证了每行按键都可以被正常检测到。