我不知道如何设置列表,以便在第二次运行程序时移动到下一个元素

2024-09-27 04:19:14 发布

您现在位置:Python中文网/ 问答频道 /正文

def get_room(self):
        if self.var2.get() == 'Deluxe Room':
            self.not_served_deluxe = [x for x in range(101,200)]
            self.served_deluxe = []

            self.take_room = self.not_served_deluxe[0]
            self.not_served_deluxe.remove(self.take_room)
            self.served_deluxe.append(self.take_room)

            self.room_win = tk.Tk()
            self.room_win.geometry('400x600')

            self.room_lb = tk.Label(self.room_win,text='Room No.',font=('Helvetica',20))
            self.room_lb.grid(row=0,column=0,padx=20,pady=10)

对于这个程序,我想将listself.not_served_deluxe的第一个元素设置为101,然后如果第二次运行该程序,则第一个元素将移动到102。但是,我不知道下次运行程序时,为了让第二个元素成为第一个元素,应该使用什么方法。如果可能,有人能帮忙解决吗


Tags: self程序元素getifdefnotwin
2条回答

如果要在脚本运行之间存储某些内容,则应将其写入文件。有许多选项,如picklecsv,或者只是打开一个文件并写入

with open("./myfile.txt", "w") as file:
    file.write(101)

下一轮

with open("./myfile.txt", "r") as file:
    room = (file.read())

# ... Do stuff here

with open("./myfile.txt", "w") as file:
    file.write(room + 1)

第一种解释:

你可以创建一个新的变量,你调用一个计数器,然后每次它经过时计数,然后只做一个if语句

伪代码: 如果变量=1->;死刑1 否则->;执行二

第二种解释:

因此,如果我理解正确,当程序运行1次时,您希望执行不同的程序。对吗?如果是,则创建一个变量,该变量计算您执行代码的频率,然后从此变量创建一个If语句,其中包含必要的语句。你明白我什么意思吗?或者我应该在哪个地方更详细地解释它

相关问题 更多 >

    热门问题