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

我问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.

相关推荐
热点推荐
“我什么都不用做”,王境泽靠“真香梗”年入百万

“我什么都不用做”,王境泽靠“真香梗”年入百万

每日经济新闻
2024-11-28 00:19:14
高中3年是人一生中关键的阶段,没上高中可能会成为一辈子的遗憾

高中3年是人一生中关键的阶段,没上高中可能会成为一辈子的遗憾

人情皆文史
2024-11-27 23:27:00
乱棍打死?浙江一企业主管被同事棍击身亡,家属称疑因工作矛盾

乱棍打死?浙江一企业主管被同事棍击身亡,家属称疑因工作矛盾

派大星纪录片
2024-11-28 18:33:08
中美韩手机三季度营收断崖对比:苹果6761亿,三星4072亿,华为呢

中美韩手机三季度营收断崖对比:苹果6761亿,三星4072亿,华为呢

老鹈爱历史
2024-11-27 13:50:52
美媒称有美国和欧盟国家官员提出向乌克兰转让核武器,外交部回应

美媒称有美国和欧盟国家官员提出向乌克兰转让核武器,外交部回应

环球网资讯
2024-11-28 15:32:09
惠州永记生态园闭园!曾因两年未通过4A景区复核标准被降级

惠州永记生态园闭园!曾因两年未通过4A景区复核标准被降级

南方都市报
2024-11-26 17:45:55
刚刚!特斯拉,发声!

刚刚!特斯拉,发声!

深蓝财经
2024-11-28 19:48:14
济南一县城9.24亿元“卖天”公告消失,招标公告发布当天为中标企业成立之日

济南一县城9.24亿元“卖天”公告消失,招标公告发布当天为中标企业成立之日

极目新闻
2024-11-28 18:59:45
卢布股市双杀!俄央行停止购买外汇和黄金,人民币买卢布翻倍

卢布股市双杀!俄央行停止购买外汇和黄金,人民币买卢布翻倍

大风文字
2024-11-28 15:42:50
国防部要求美方停止编造谎言 停止挑衅滋事

国防部要求美方停止编造谎言 停止挑衅滋事

环球网资讯
2024-11-28 16:37:31
官方证实!OPPO杭州全球总部,停工了!总用地规模近5万平方米

官方证实!OPPO杭州全球总部,停工了!总用地规模近5万平方米

每日经济新闻
2024-11-28 20:58:07
俄罗斯苏57飞行员驾机回国后竟然如此评价我国最新歼35战斗机!

俄罗斯苏57飞行员驾机回国后竟然如此评价我国最新歼35战斗机!

凯撒谈兵
2024-11-28 20:45:27
斯瓦泰克自爆本赛季曾因兴奋剂检测不合格,被禁赛一个月

斯瓦泰克自爆本赛季曾因兴奋剂检测不合格,被禁赛一个月

懂球帝
2024-11-28 22:38:12
突发!网传南京一高档小区遭遇3名盗贼光顾,部分业主损失惨重…

突发!网传南京一高档小区遭遇3名盗贼光顾,部分业主损失惨重…

火山诗话
2024-11-28 14:51:02
全球最大最强!华龙一号核电并网,什么水平?欧盟绑一起都拼不过

全球最大最强!华龙一号核电并网,什么水平?欧盟绑一起都拼不过

李将平老师
2024-11-28 15:50:09
美籍健身教练自曝与1242名中国年轻漂亮女孩交往,并且有视频为证

美籍健身教练自曝与1242名中国年轻漂亮女孩交往,并且有视频为证

真实故事汇
2024-11-25 15:12:16
已经顾不上南海了!菲律宾国内大乱,16万菲军被要求马上行动!

已经顾不上南海了!菲律宾国内大乱,16万菲军被要求马上行动!

说天说地说实事
2024-11-28 18:55:00
A股两家百亿市值公司,明起停牌!什么情况?

A股两家百亿市值公司,明起停牌!什么情况?

每日经济新闻
2024-11-27 21:39:21
辽宁“推妻坠海案”更多细节披露:2024最狠毒的男人出现了

辽宁“推妻坠海案”更多细节披露:2024最狠毒的男人出现了

李月亮
2024-11-28 20:47:03
最新后续!杨议继续爆猛料,证据越来越清晰,郭德纲的体面败光了

最新后续!杨议继续爆猛料,证据越来越清晰,郭德纲的体面败光了

七楼的蒲公英
2024-11-28 20:13:09
2024-11-28 23:39:00
Python学习交流
Python学习交流
人生苦短,我用Python
419文章数 4850关注度
往期回顾 全部

科技要闻

讽刺谁?特斯拉称供应链付款周期缩至90天

头条要闻

大众宣布将出售其在新疆的业务 外交部回应

头条要闻

大众宣布将出售其在新疆的业务 外交部回应

体育要闻

道心破碎的姆巴佩,交出一张负分答卷

娱乐要闻

冯绍峰新恋情曝出!女方第一时间发文辟谣

财经要闻

洪灏:不要误解增量政策 不是数越大越好

汽车要闻

ID. CODE概念车/探岳L领衔 大众汽车携25款车亮相

态度原创

家居
健康
数码
公开课
军事航空

家居要闻

简约大气风格 舒适通透空间

花18万治疗阿尔茨海默病,值不值?

数码要闻

索尼或推黑色版PS Portal及配件 售价149.99美元起

公开课

一块玻璃,如何改变人类世界?

军事要闻

涉嫌严重违纪 中央军委委员苗华被停职检查

无障碍浏览 进入关怀版