网易首页 > 网易号 > 正文 申请入驻

我问ChatGPT要了个写计算器的代码,结果翻车了

0
分享至

大家好,我是皮皮。

一、前言

ChatGPT最近非常火爆,很多人都在玩。前几天在Python最强王者交流群【孤独】找ChatGPT要了一个用Python实现计算器的代码,这里拿出来给大家分享下。下面的代码是ChatGPT给出的:

# 导入PyQt5模块from PyQt5.QtWidgets import QApplication, QWidget, QGridLayout, QLineEdit, QPushButtonfrom PyQt5.QtCore import Qt# 创建应用程序实例app = QApplication([])# 创建窗口window = QWidget()window.setWindowTitle('计算器')# 创建布局layout = QGridLayout()window.setLayout(layout)# 创建文本框display = QLineEdit()display.setReadOnly(True)display.setAlignment(Qt.AlignRight)display.setMaxLength(15)layout.addWidget(display, 0, 0, 1, 5)# 创建按钮nums = '789/456*123-0.=+'i = 0btn = []for j in range(2, 5): for k in range(3): btn.append(QPushButton(nums[i])) btn[i].setFixedSize(40, 40) layout.addWidget(btn[i], j, k) i += 1btn.append(QPushButton('.'))btn[i].setFixedSize(40, 40)layout.addWidget(btn[i], 5, 0)btn.append(QPushButton('+/-'))btn[i+1].setFixedSize(40, 40)layout.addWidget(btn[i+1], 5, 1)btn.append(QPushButton('C'))btn[i+2].setFixedSize(40, 40)layout.addWidget(btn[i+2], 5, 2)# 定义计算器功能def calc_total(): total = display.text() total = eval(total) display.setText(str(total))# 连接按钮功能btn[0].clicked.connect(lambda: display.setText(display.text() + '7'))btn[1].clicked.connect(lambda: display.setText(display.text() + '8'))btn[2].clicked.connect(lambda: display.setText(display.text() + '9'))btn[3].clicked.connect(lambda: display.setText(display.text() + '/'))btn[4].clicked.connect(lambda: display.setText(display.text() + '4'))btn[5].clicked.connect(lambda: display.setText(display.text() + '5'))btn[6].clicked.connect(lambda: display.setText(display.text() + '6'))btn[7].clicked.connect(lambda: display.setText(display.text() + '*'))btn[8].clicked.connect(lambda: display.setText(display.text() + '1'))btn[9].clicked.connect(lambda: display.setText(display.text() + '2'))btn[10].clicked.connect(lambda: display.setText(display.text() + '3'))btn[11].clicked.connect(lambda: display.setText(display.text() + '-'))btn[12].clicked.connect(lambda: display.setText(display.text() + '0'))btn[13].clicked.connect(lambda: display.setText(display.text() + '.'))btn[14].clicked.connect(lambda: display.setText(display.text() + '+'))btn[15].clicked.connect(calc_total)btn[16].clicked.connect(lambda: display.setText(''))# 显示窗口window.show()# 运行应用程序app.exec_()

本以为ChatGPT给的代码应该是直接可以跑出正确的结果的,结果翻车了!

二、实现过程

其实ChatGPT把基本的框架也都写好了,确实需要在这个代码基础上稍微修改下才行,逻辑没有问题,只是少了部分代码应该就能运行了。这里【༺࿈黑科技·鼓包࿈༻】在这个代码基础上稍微修改了下,就可以跑了。修改后的代码如下:

# 导入PyQt5模块from PyQt5.QtWidgets import QApplication, QWidget, QGridLayout, QLineEdit, QPushButton,QVBoxLayoutfrom PyQt5.QtCore import Qt# 创建应用程序实例app = QApplication([])# 创建窗口window = QWidget()window.setWindowTitle('计算器')# 创建布局layout = QGridLayout()v_layout = QVBoxLayout()v_h = QVBoxLayout()window.setLayout(v_layout)# 创建文本框display = QLineEdit()display.setReadOnly(True)display.setAlignment(Qt.AlignRight)display.setMaxLength(15)layout.addWidget(display, 0, 0, 1, 5)# 创建按钮nums = '789/456*123-0.C+'i = 0btn = []for j in range(1, 5): for k in range(4): btn.append(QPushButton(nums[i])) btn[i].setFixedSize(40, 40) layout.addWidget(btn[i], j, k) print(i,j,k) i += 1print(i)dh = QPushButton('=')dh.setFixedSize(180, 40)v_layout.addLayout(layout)v_h.addWidget(dh)v_layout.addLayout(v_h)# 定义计算器功能def calc_total(): total = display.text() total = eval(total) display.setText(str(total))# 连接按钮功能btn[0].clicked.connect(lambda: display.setText(display.text() + '7'))btn[1].clicked.connect(lambda: display.setText(display.text() + '8'))btn[2].clicked.connect(lambda: display.setText(display.text() + '9'))btn[3].clicked.connect(lambda: display.setText(display.text() + '/'))btn[4].clicked.connect(lambda: display.setText(display.text() + '4'))btn[5].clicked.connect(lambda: display.setText(display.text() + '5'))btn[6].clicked.connect(lambda: display.setText(display.text() + '6'))btn[7].clicked.connect(lambda: display.setText(display.text() + '*'))btn[8].clicked.connect(lambda: display.setText(display.text() + '1'))btn[9].clicked.connect(lambda: display.setText(display.text() + '2'))btn[10].clicked.connect(lambda: display.setText(display.text() + '3'))btn[11].clicked.connect(lambda: display.setText(display.text() + '-'))btn[12].clicked.connect(lambda: display.setText(display.text() + '0'))btn[13].clicked.connect(lambda: display.setText(display.text() + '.'))btn[14].clicked.connect(lambda: display.setText(''))btn[15].clicked.connect(lambda: display.setText(display.text() + '+'))dh.clicked.connect(calc_total)# 显示窗口window.show()# 运行应用程序app.exec_()

运行结果如下图所示:

简直太秀了,顺利地解决了粉丝的问题。

最后分享一个ChatGPT关于Python编程能用来干嘛?问题的回答,一起共勉下啦!

Python是一种高级编程语言,具有简单易学、开发效率高等特点,被广泛应用于多个领域。以下是Python编程可以用来干嘛的一些例子:

网络爬虫:使用Python编写程序可以爬取互联网上的数据,例如爬取新闻、商品信息等。数据分析:Python有强大的数据分析库,例如Numpy、Pandas和Matplotlib等,可以对数据进行处理、分析和可视化。

人工智能和机器学习:Python有很多强大的人工智能和机器学习库,例如TensorFlow、Keras和PyTorch等,可以用于图像识别、自然语言处理、预测等领域。

网站开发:Python有很多流行的Web框架,例如Django和Flask等,可以用于构建网站和Web应用。

游戏开发:Python有很多游戏开发库,例如Pygame等,可以用于开发简单的2D游戏。

自动化脚本:Python可以编写自动化脚本,例如自动化测试、自动化部署等。

总之,Python编程具有广泛的应用场景,可以用于数据处理、科学计算、人工智能、Web开发、自动化等多个领域。同时,Python也是学习编程的很好的入门语言,因为它具有简单易学、语法清晰等特点。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个ChatGPT处理代码的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【孤独】提问,感谢【༺࿈黑科技·鼓包࿈༻】给出的思路和代码解析,感谢【DIY】等人参与学习交流。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
他每天吃3-4公斤黄油汉堡,8个月后,胆固醇直接“渗”出手指!!

他每天吃3-4公斤黄油汉堡,8个月后,胆固醇直接“渗”出手指!!

英国那些事儿
2025-02-10 23:23:24
降价17万!奥迪也跟了!

降价17万!奥迪也跟了!

鲁中晨报
2025-02-18 14:59:07
宿迁市宿豫区政协原副主席丁必江被查

宿迁市宿豫区政协原副主席丁必江被查

鲁中晨报
2025-02-18 22:15:02
其实女人愿不愿意和你上床,绝不是简单一两个条件能概括的

其实女人愿不愿意和你上床,绝不是简单一两个条件能概括的

加油丁小文
2025-02-16 12:30:02
关于《哪吒2》,周星驰连发10遍!

关于《哪吒2》,周星驰连发10遍!

环球时报新闻
2025-02-19 00:02:21
尹锡悦老婆面容憔悴,人工脸精心保养十几年,一朝回到解放前

尹锡悦老婆面容憔悴,人工脸精心保养十几年,一朝回到解放前

橘色数码
2025-01-19 07:37:37
湖北省干部任前公示

湖北省干部任前公示

硒都身边事儿
2025-02-18 21:04:26
霍震霆大谈儿媳郭晶晶:“温柔只给外人看,在家从不给我面子”

霍震霆大谈儿媳郭晶晶:“温柔只给外人看,在家从不给我面子”

大果小果妈妈
2025-02-18 13:19:10
周星驰连发10遍“我要看《哪吒2》”,cos哪吒造型

周星驰连发10遍“我要看《哪吒2》”,cos哪吒造型

鲁中晨报
2025-02-18 21:55:03
首发11人出炉!中国队末轮放水,输澳大利亚2大好处,稳进世青赛

首发11人出炉!中国队末轮放水,输澳大利亚2大好处,稳进世青赛

侃球熊弟
2025-02-18 18:37:29
欧洲“觉醒”,即将推出重大计划援助乌克兰

欧洲“觉醒”,即将推出重大计划援助乌克兰

山河路口
2025-02-18 20:02:42
曾遭遇两年欠薪,国足最新归化球员是他?

曾遭遇两年欠薪,国足最新归化球员是他?

中国新闻周刊
2025-02-18 13:05:24
U20国足1:2澳大利亚,赛后刘建宏从三方面做出点评,句句在理!

U20国足1:2澳大利亚,赛后刘建宏从三方面做出点评,句句在理!

田先生篮球
2025-02-18 22:08:43
任正非破天荒披露“备胎计划 2.0”

任正非破天荒披露“备胎计划 2.0”

别人都叫我阿腈
2025-02-19 04:18:10
2014年,北京女博士李香蓉因接受不了新郎身份,在车内将其几刀刺死

2014年,北京女博士李香蓉因接受不了新郎身份,在车内将其几刀刺死

红豆讲堂
2024-10-14 15:30:03
真缺德!华人房产经纪人将房主代管房售卖,获利百万后人间蒸发!

真缺德!华人房产经纪人将房主代管房售卖,获利百万后人间蒸发!

华人生活网
2025-02-19 04:46:16
批复同意!四川将再添一座机场

批复同意!四川将再添一座机场

鲁中晨报
2025-02-18 14:35:02
1-3!1-1!意甲2强一夜全出局:亚特兰大惨败+米兰爆冷,尤文也悬

1-3!1-1!意甲2强一夜全出局:亚特兰大惨败+米兰爆冷,尤文也悬

体育知多少
2025-02-19 06:38:40
淫魔尼姑胡晓慧被捕,男弟子们交代细节,揭秘胡媚术撞击疗法

淫魔尼姑胡晓慧被捕,男弟子们交代细节,揭秘胡媚术撞击疗法

罪案洞察者
2025-02-17 13:49:12
传月之暗面收缩投放预算:烧钱一年只获得不足千万量级日活,DeepSeek几十天日活3500万!内部人士:新增用户量猛涨

传月之暗面收缩投放预算:烧钱一年只获得不足千万量级日活,DeepSeek几十天日活3500万!内部人士:新增用户量猛涨

和讯网
2025-02-18 17:23:34
2025-02-19 07:03:00
Python学习交流
Python学习交流
人生苦短,我用Python
419文章数 4850关注度
往期回顾 全部

科技要闻

马斯克发布"最聪明AI":号称碾压DeepSeekV3

头条要闻

10元1个螺母被认定为枪支散件 父子被刑拘获分案调查

头条要闻

10元1个螺母被认定为枪支散件 父子被刑拘获分案调查

体育要闻

曾遭遇两年欠薪,国足最新归化球员是他?

娱乐要闻

陈晓与陈妍希宣布离婚:今后各自安好

财经要闻

存款准备金率5%隐形下限能否突破?

汽车要闻

两种电池可选 小米YU7最大续航820km

态度原创

教育
本地
艺术
手机
游戏

教育要闻

希望杯初中数学题,有好多同学认为题目有问题,其实并非如此

本地新闻

非遗版春节|新春青岛行,是谁闯入了动漫世界?

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

手机要闻

iPhone 17 据称将不包含传闻中 iPhone 17 Pro 的圆角矩形相机栏

魂师对决:SP朱竹清返场抽取分析!这个月的压力又是陡然剧增!

无障碍浏览 进入关怀版