Python编程问题

哪个程序对题意理解更准确?如何改进?请求指正,程序修改问题。

img

img

img

第二个程序符合题意,第一个程序是写入文件,原题没有让写入

第二个,第一个方法也行,加一个try语句一样的效果

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7739467
  • 这篇博客也不错, 你可以看下Python理解力是什么?为什么要使用它们?
  • 你还可以看下python参考手册中的 python-函数式编程模块
  • 除此之外, 这篇博客: python编程语言是什么?它能做什么?中的 那开发网站需要用到哪些知识呢? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1、python基础,因为用python开发的,所以python指定要会,最起码你也得会条件判断,循环,函数,类这些知识;

    2、html、css的基础知识,因为要开发网站,网页都html和css写的,最起码这些知识你得会,就算不会写前端,开发不出来特别漂亮的页面,网站,最起码要能看懂html标签是;

    3、数据库基础知识,因为开发一个网站的话,数据存在哪里,就是在数据库里,那你最起码要会数据库的增删改查吧,要不然怎么存数据,取数据呢

      上面这些知识会的话,开发一个简单的小站就没有问题了,如果想开发比较大型的网站,业务逻辑比较复杂的,那就得用到其他的知识了,比如说redis、MQ等等。

  • 您还可以看一下 刘顺祥老师的Python数据分析与挖掘课程中的 正则表达式能用在哪?小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    这段Python程序是一个带界面、可切换图片的轮播图程序。程序会从指定的文件夹中获取所有指定格式的图片,并将它们显示在窗口上。下面是程序的具体功能和输出:

    功能: 1. 从指定文件夹获取图片 并自动轮播,同时提供手动切换。 2. 将程序窗口居中显示,并在窗口内完整显示程序代码。

    预期输出: 程序会创建一个窗口,并在窗口内显示指定文件夹下的所有图片。图片会自动轮播,每张图片停留的时间为5秒,并提供左右切换按钮来切换图片。打开窗口后,程序会在屏幕中央居中显示,并将完整的程序代码打印在窗口内部。如果出现任何错误,程序会打印出错误信息和文件路径。

    程序源代码如下:

    import os
    import tkinter as tk
    from PIL import ImageTk, Image
    
    
    class App(tk.Tk):
        def __init__(self, images):
            super().__init__()
            assert tk.TkVersion >= 8.6, "PhotoImage not supported with this version of Tkinter"
            self.images = images
            self.current_image = 0
            self.create_widgets()
            self.center_window()
    
        def center_window(self):
            self.update_idletasks()
            width = self.winfo_width()
            height = self.winfo_height()
            x = (self.winfo_screenwidth() // 2) - (width // 2)
            y = (self.winfo_screenheight() // 2) - (height // 2)
            self.geometry('{}x{}+{}+{}'.format(width, height, x, y))
    
        def create_widgets(self):
            self.canvas = tk.Canvas(self, width=800, height=600)
            self.canvas.pack()
            self.show_image()
    
            prev_button = tk.Button(self, text='Prev', command=self.prev_image)
            prev_button.pack(side=tk.LEFT)
    
            next_button = tk.Button(self, text='Next', command=self.next_image)
            next_button.pack(side=tk.RIGHT)
    
            text_box = tk.Text(self, width=80)
            text_box.pack()
            with open(__file__, 'r') as f:
                code = f.read()
            text_box.insert('end', code)
    
        def show_image(self):
            try:
                self.image_obj = Image.open(self.images[self.current_image])
                image = self.image_obj.resize((800, 600), Image.LANCZOS)
    
                self.photo = ImageTk.PhotoImage(image)
                self.canvas.create_image(0, 0, anchor=tk.NW, image=self.photo)
                self.after(5000, self.next_image)
            except Exception as e:
                print(f"Error: {e}")
                print(f"Image file path: {self.images[self.current_image]}")
    
        def prev_image(self):
            self.current_image -= 1
            if self.current_image < 0:
                self.current_image = len(self.images) - 1
            self.canvas.delete('all')
            self.show_image()
    
        def next_image(self):
            self.current_image += 1
            if self.current_image >= len(self.images):
                self.current_image = 0
            self.canvas.delete('all')
            self.show_image()
    
    
    if __name__ == '__main__':
        # 指定目录
        directory = "imgs/"
    
        # 获取目录下的所有文件的绝对路径
        file_paths = []
        for filename in os.listdir(directory):
            path = os.path.join(directory, filename)
            if any(ext in filename.lower() for ext in ('jpg', 'jpeg', 'png', 'gif')):
                file_paths.append(path)
                print(path)
    
        app = App(file_paths)
        app.mainloop()
    

    注意:该程序调用了Tkinter和Pillow库,需要保证两个库已经安装。可以通过pip install tkinter和pip install Pillow来安装。另外,程序中会在窗口内打印完整代码,如果代码过长超出窗口范围,可以自行调整程序窗口大小。