马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 凌九霄 于 2023-4-15 10:05 编辑
看到不二如是老大弄了个练习题是天才就挑战9.9s,我试着让Chatgpt也臆想了个,完全由它生成的,我没有做任何修改。我只是告诉它:
显示一个界面,title为挑战9.9秒,界面尺寸为320*200,界面上两个控件,一个静态文本框(100*20),一个按钮(100*20),初始状态静态文本框显示0.0,字体尺寸为20,按钮上的文字是启动,点击按钮后,按钮文字变为停止,并且静态文本框的数字开始从0.0到10开始跳动,跳动速度为10毫秒,如果数字大于10,则又从0.0开始,如果再次点击按钮,则数字停止跳动,按钮文本改为启动,如果按下按钮停止时,静态文本框的数字是9.9,则弹出消息框,显示挑战成功,否则弹出消息框显示挑战失败,要根据按钮的两种情况编程.
几秒钟后,它给了我如下代码:
import tkinter as tk
from tkinter import messagebox
class Timer:
def __init__(self, master):
self.master = master
master.title("挑战9.9秒")
master.geometry("320x200")
self.time = 0.0
self.timer_running = False
# 创建静态文本框
self.time_label = tk.Label(master, text="0.0", font=("Arial", 20), width=10, height=2)
self.time_label.pack(pady=20)
# 创建按钮
self.start_stop_button = tk.Button(master, text="启动", font=("Arial", 12), width=10, height=2, command=self.start_stop_timer)
self.start_stop_button.pack()
def start_stop_timer(self):
if not self.timer_running:
# 如果计时器没有在运行,点击按钮后开始计时
self.timer_running = True
self.start_stop_button.config(text="停止")
self.update_time()
else:
# 如果计时器在运行,点击按钮后停止计时
self.timer_running = False
self.start_stop_button.config(text="启动")
# 判断是否挑战成功
if self.time == 9.9:
messagebox.showinfo("挑战成功", "恭喜你挑战成功!")
else:
messagebox.showinfo("挑战失败", "很遗憾,挑战失败了。")
def update_time(self):
if self.timer_running:
# 如果计时器在运行,更新时间
self.time += 0.1
if self.time > 10:
self.time = 0.0
self.time_label.config(text="{:.1f}".format(self.time))
self.master.after(10, self.update_time)
# 创建主窗口
root = tk.Tk()
# 创建计时器
timer = Timer(root)
# 进入消息循环
root.mainloop()
或许我的描述太罗嗦了些,否则,它可能还能写出更精简优美的代码。它完全理解了我的意图,甚至它还自作主张添加了“恭喜你”,“很遗憾”两个词。我在想,虽然ChatGPT目前还未成气候,但它在编程方面的潜力已经初见端倪,还在学习编程的人们,未来的路该何去何从?
|