(抛砖引玉)用好chatgpt小帮手,写一个实验室管理系统

本文用实际案例描述了如何用好chatgpt做一些小程序,主要是写给缺乏实际编程经验但又不得不硬着头皮上的同学。

大佬们可以直接飘过~

目前兼着实验室管理员的工作,众做周知,电子工程师的实验室一般来说都是杂乱无章的,没有设备维护,没有仓管,没办法啊,小公司,降本增效。

灵光乍现,目前不是都报道说chatgpt可以解放程序员的头脑和手脚,方便摸鱼嘛,于是一个用chatgpt写一个实验室管理系统的idea就诞生了。

废话不说,开始干。

首先打开chatgpt,对话框输入prompt 

Q:

假定你是一个实验室管理员,帮我用python写一个 实验室物品物料设备登入借出系统,要有UI。

 chatgpt回复:

代码如下

import tkinter as tkclass LabInventorySystem:def __init__(self, master):self.master = mastermaster.title("实验室物品物料设备登入借出系统")# 创建控件self.label_item = tk.Label(master, text="物品名称:")self.entry_item = tk.Entry(master)self.label_count = tk.Label(master, text="数量:")self.entry_count = tk.Entry(master)self.label_borrower = tk.Label(master, text="借用人:")self.entry_borrower = tk.Entry(master)self.button_borrow = tk.Button(master, text="借出", command=self.borrow)self.button_return = tk.Button(master, text="归还", command=self.return_item)self.text_log = tk.Text(master, width=50, height=10)# 布局控件self.label_item.grid(row=0, column=0)self.entry_item.grid(row=0, column=1)self.label_count.grid(row=1, column=0)self.entry_count.grid(row=1, column=1)self.label_borrower.grid(row=2, column=0)self.entry_borrower.grid(row=2, column=1)self.button_borrow.grid(row=3, column=0)self.button_return.grid(row=3, column=1)self.text_log.grid(row=4, column=0, columnspan=2)# 初始化物品列表self.items = [("电脑", 10), ("投影仪", 5), ("实验箱", 20)]def borrow(self):item_name = self.entry_item.get()count = int(self.entry_count.get())borrower = self.entry_borrower.get()# 检查库存是否足够for item in self.items:if item[0] == item_name:if item[1] >= count:item[1] -= countself.log(f"{borrower}借用了{count}个{item_name}")else:self.log(f"库存不足,只有{item[1]}个{item_name}")breakelse:self.log(f"没有找到{item_name}")def return_item(self):item_name = self.entry_item.get()count = int(self.entry_count.get())borrower = self.entry_borrower.get()# 归还物品for item in self.items:if item[0] == item_name:item[1] += countself.log(f"{borrower}归还了{count}个{item_name}")breakelse:self.log(f"没有找到{item_name}")def log(self, message):self.text_log.insert(tk.END, message + "\n")if __name__ == "__main__":root = tk.Tk()app = LabInventorySystem(root)root.mainloop()

这个程序包括三个控件:物品名称输入框、数量输入框和借用人输入框,以及两个按钮:借出和归还。当用户点击借出或归还按钮时,程序会检查库存是否足够,并在日志框中输出相应信息。

您可以根据自己的需求对程序进行修改和扩展,比如添加更多的控件和功能,以及对数据库进行操作等。

 好了,运行一下刚刚获取到的代码:

一个简单的实验室物料登记系统的雏形就完成了。

后面可以自行针对细节做出调整,比如功能按键,UI的长宽位置等等。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18268.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT发展史

不知道大家是否还记得年初刷屏的 DALLE2 ?因为它的爆火,大家开始不约而同的讨论起 AI 绘画会不会代替设计师的工作,这个话题至今还被人常常提起。最近,OpenAI 再放大招,推出的 ChatGPT 席卷网络,大家又开始…

IEEE IS评选AI十大新星,9位华人获奖

最近人工智能领域著名杂志 IEEE Intelligent Systems公布了 2022 年度「人工智能十大新星」(AIs 10 to Watch)名单 ,其中有九位都是华人研究者。 推荐阅读: ▶不愁失业!英伟达 CEO 黄仁勋:“AI 让每个人都能…

死磕数据库系列(三十二):MySQL 数据库、数据表管理工具介绍

关注公众号,回复“1024”获取2TB学习资源! 今天我将详细的为大家介绍 MySQL 数据库、数据表相关工具的相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发支持一波!!! 数据…

IBM停止招聘可被AI取代的职位;三星禁止员工使用ChatGPT;印象笔记官方AI免费课;清华美院AI绘画的高质量分享 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 『IBM将停止招聘可被人工智能取代的职位』近8000名工人将被自动化取代 据彭博社报道,IBM首席执行官Arvind Krishna表示&am…

死磕数据库系列(三十一):MySQL 服务器 CPU、磁盘、内存等硬件选型

点关注公众号,回复“1024”获取2TB学习资源! 今天我将详细的为大家介绍 MySQL 服务器的磁盘及相关硬件选型的相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发支持一波!!更多关于MyS…

Linux 中 root 与 sudo 的用法与区别,居然这么多人搞不清楚。。。

点关注公众号,回复“1024”获取2TB学习资源! Linux 下面有两个概念可能大家接触的比较多,一个是 sudo 命令,还有一个是 root 账户。Sudo 命令可以以最高权限执行命令,而 root 账户下所有命令都有最高权限,也…

面试官:TCP 连接数最大不能超过 65535?那服务器是如何应对百万千万并发的?...

点关注公众号,回复“1024”获取2TB学习资源! 最大并发 tcp 连接数是多少呢? 首先,问题中描述的65535个连接指的是客户端连接数的限制。 在tcp应用中,server事先在某个固定端口监听,client主动发起连接&…

2023年春秋杯网络安全联赛春季赛 RE复盘(部分待补)

目录 sum Pytrans BWBA Poisoned_tea_CHELL 第一种找程序加密函数的方法 第二种找程序加密函数的方法 解密 这次的春季赛仍是被打爆了,re只做出了一题,发现自己还是太菜了,好在在后期复盘中又收获了许多新知识了,不亏。 su…

2023春秋杯春季赛WP-REVERSE(AK)

REVERSE sumPoisoned_tea_CHELLBWBAPytransEmoji ConnectOldSymbolicCode 浅浅写一下RE的WP~ sum 根据代码,可以看出程序只能输入数字,判断matrix数组对应下标的值是否为0,如果为0,则可以输入一个字符,根据代码逻辑&a…

Servlet基础学习

什么是Servlet? Servlet是一种用于接收web网页传回和输出到web的一个Java类,根据不同的实际需要,实现不同的Servlet来对网页数据进行处理。 Servlet的基本处理流程 在网页发起请求之后,编译器首先去寻找web网页的配置文件&…

react仿微信聊天室|react即时聊天IM系统|react群聊

reactredux仿微信聊天IM实战|react仿微信界面|react多人群聊天室 最近一直捣鼓react开发,就运用react开发了个仿微信聊天室reactChatRoom项目,基于reactreact-domreact-router-domreduxreact-reduxwebpack2.0antdesignwcPop等技术混合开发,实…

DES加密解密 Feistel算法网络结构 详讲

文章目录 简单知识导入:具体过程:IP置换( 64 − > 64 64->64 64−>64)轮函数--E扩展置换( 32 − > 48 32->48 32−>48)轮函数--与子密钥异或( 48 − > 48 48->48 48−&…

2023年春秋杯网络安全联赛春季赛Reverse题目复现

文章目录 一.sum1. 分析程序逻辑2.解数独矩阵3.解题脚本 二.Poisoned_tea_CHELL1. 重新识别函数及程序逻辑分析2.IDA动态调试(attach附加调试)3. 输入选项进行单步调试4.解题脚本 BWBAOldSymbolicCode 一.sum 1. 分析程序逻辑 这里直接贴上当时分析的结果,根据程序行为不难猜…

NLP相关知识点(慢慢更新)

一、基础概念 1.1. NLP 中的 Tokenization 是什么? NLP技术中 Tokenization 也可以被称作是“word segmentation”,直译为中文是指 分词。 分词是NLP的基础任务,按照特定需求能把文本中的句子、段落切分成一个字符串序列(其中的元素通常称…

SpringCould+Vue3-Element-Admin 登录接口,用户信息接口以及Token验证的实现【Taurus教育平台】

文章目录 一.SpringCouldVue3-Element-Admin 登录接口,用户信息接口以及Token验证的实现【Taurus教育平台】1.1 背景1.2 数据库 二、登录接口及其Token实现2.1 前端2.2 后端2.2.1 控制层2.2.2 service层2.2.3 工具类:CreateJwt2.2.4 Dao-Mapper 三、用户…

【Bert、T5、GPT】fine tune transformers 文本分类/情感分析

【Bert、T5、GPT】fine tune transformers 文本分类/情感分析 0、前言text classificationemotions 数据集data visualization analysisdataset to dataframelabel analysistext length analysis text > tokenstokenize the whole dataset fine-tune transformersdistilbert…

Django通过nginx 部署(成功运行)

配置python版本和ssh启用root参考其它文章 完整项目路径 /root/projects/mysutra_pro 下级目录/root/projects/mysutra_pro/mysutra是源码目录 rootVM-12-2-debian:~/projects/mysutra_pro# ls db.sqlite3 manage.py ms_env mysutra rootVM-12-2-debian:~/projects/mysutr…

es Elasticsearch的增删改查(含数组操作)(类型,原理) - from chatgpt

父文章 算法中的特征的保存, es 和 mysql 和 odps hadoop hbase的区别_个人渣记录仅为自己搜索用的博客-CSDN博客 Elasticsearch如何做到数十亿数据查询毫秒级响应? - 知乎 ES系列之利用filter让你的查询效率飞起来_es filter_lucasma.eth的博客-CSDN博客 ES查询…

文心一言对比chatgpt

文章目录 一、 介绍二、 回复速度比较三、 写代码能力四、 做表格能力五、 写文案能力六、 解决数学问题能力七、 绘画能力八、 实时更新信息九、 总结 一、 介绍 文心一言对比chatgpt。 测试了上百个案例,挑选几个经典的案例。 二、 回复速度比较 百度文心耗时10…

CSDN chatGPT初体验

我的问题:用java实现一个B树 public class BTree {private int t;private Node root;private class Node {private int n;private boolean leaf;private int[] keys;private Node[] children;public Node(boolean leafNode) {this.n 0;this.leaf leafNode;this.ke…