Python学习中遇到的问题及解决方法(共勉)

本文汇总了Python学习过程中常见的编程问题及解决方案,包括PyCharm配置、数据类型转换、函数使用、数学运算精度控制、库安装与使用、数据转换等,适合初学者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python学习中遇到的问题及解决方法(共勉)

1、使用软件PyCharm

前面有各种PEP 8的报错所以在file->setting->Inspections->python中将PEP 8两个选项关掉了。

2、以下是遇到的其他种类问题

1、End of statement expected

在print的时候遇到的

print 'dfhskjhfkjhdsfkjh'

解决:将输出的数据加了括号

print ('fdsasfddsfdsfdsf')

2、input输入的值为字符串类型,需要进行转换否则出现如下错误

TypeError: ‘>’ not supported between instances of ‘str’ and ‘int’

str = int(str)

3、函数内使用全局变量

#若全局变量为a在函数内需要加入这段代码
global a

4、if要加“:”

5、关于小数位数问题

我在操作数据float类型数据+=0.1时结果却加了0.0999999999999
查过资料后有了两个解决方法

方法一:

以参数为a为例

a = '%.2f'%a

如此虽然是保留了两位小数,但是在操作它时发现它发生了格式转换,可以输入以下代码验证:

print(type(a))

输出的结果为:

<class 'str'>
方法二:

还是以a为例

a = round(a,2)
#此为python内置的round函数

在输出时同样以上面方法查看函数类型,发现没有改变函数类型,故推荐使用python内置的函数。

6、python中的与是‘and’而非‘&&’

7、简化代码

a >= 1.5 and a <= 30

能够简化为

1.5 <= a <= 30

8、求开多次方根的函数

math.pow(a,2)

9、求解指数函数

在网上查过后有很多朋友都说用solve函数解决求解方程的问题,在solve中将eval与math合并使用效果好,我刚好需要用math.exp()来求解指数函数,但是尝试并且查过资料后,利用这个方法仍没能实现这个功能,若有朋友能够走通,可以留言和大家交流一下。

故转而用另一种方法

这种方法需要导入SymPy库
网上能够查到有朋友这样写的安装方法:https://blog.youkuaiyun.com/abvedu/article/details/54748164

我使用的方法是通过PyCharm内部导入
在PyCharm中file->setting->project:untitled1->project Interpreter中查找SymPy,然后在线Install就OK了

10、Basemap库的下载安装

根据网上普遍的方法,我在Pycharm上直接下载安装了geos,pypro,但是在下载安装Basemap时提示有问题,具体提示忘记了,操作良久后打算直接下载库包用CMD进行安装(没有装pip的同学请安装pip)

这里出现了一个比较坑爹的问题,网上都没有提到过
我下载对应电脑版本的pypro和basemap(64位系统,python3.7的版本),结果怎么安装都安装不上,具体提示也忘记了,大概是版本问题,抱着试一试的心态我下载了32位系统的对应安装包,结果安装成功。。。再者如果有同学需要这两个32位,python3.7版本的安装包,可以从我上传的资源下载,一定要注意看自己的python版本!!!

这样就在电脑上安装成功了,但是在pycharm上还是调用失败
我们需要修改PyCharm中file->setting->project:untitled1->project Interpreter
上面这个下拉框中修改成自己的Python安装的绝对路径上面这个下拉框中修改成自己的Python安装的绝对路径
之后下面的库就会更新,但是但是我这里导入库了,在调用的时候又出问题了,感觉是系统没有调用到相应的库,后来有时可以有时无法调用,隔了一段时间没有这个问题了,在此也向各位提出这个疑问,有知道原因的朋友可以在下面分享一下

11、Pandas列数据转换为numpy.array

#例如导入的Pandas数据中有命名为‘Lat’和‘Long’列
Lat = newdata['Lat'].values
Long = newdata['Long'].values
#这两个数据就被提取成numpy.array类型了

12、Pandas列数据转换为list数据

#例如导入的Pandas数据中有命名为‘Lat’和‘Long’列
Lat = newdata['Lat'].tolist()
Long = newdata['Long'].tolist()
#这两个数据就被提取成list类型了

13、map函数中导入Pandas两列的坐标

#在查阅相关资料后选取了12中的方法将经纬度进行了转换,输出list类型的数据
#并在map函数中进行了应用
x , y = map(Long , Lat)

后续持续更新

### 关于ESP32-S3在VSCode中的开发必备插件 在VSCode中进行ESP32-S3项目的开发,需要安装一些必要的工具和扩展来支持编译、调试以及代码编辑等功能。以下是详细的插件列表及相关说明: #### 1. **C/C++ 插件** 用于提供 C 和 C++ 的语法高亮、 IntelliSense 支持以及其他代码辅助功能[^1]。 ```plaintext 名称: C/C++ 作者: Microsoft 作用: 提供强大的代码补全、错误检测和重构功能。 ``` #### 2. **PlatformIO IDE** 虽然 PlatformIO 主要针对 Arduino 平台,但在某些情况下也可以作为 ESP-IDF 的补充工具链使用。不过需要注意的是,对于完整的 IDF 功能支持,建议优先配置官方推荐的工具链[^2]。 ```plaintext 名称: PlatformIO IDE 作者: PlatformIO 注意: 对于完全控制硬件资源的需求,应考虑直接依赖 VSCode 配合原生 IDF 工具链而非仅靠此插件。 ``` #### 3. **ESPressif Extension Pack (ESP-IDF)** 这是由 Espressif 官方提供的扩展包,包含了设置好所有必要组件的一键式解决方案,极大简化了初始配置过程[^3]。 ```plaintext 名称: ESP-IDF for Visual Studio Code 作者: Espressif Systems 特点: 自动化管理构建系统;集成终端命令操作如 `idf.py` 执行流程等。 ``` #### 4. **Git & GitHub Integration** 如果项目涉及版本管理和协作,则需额外引入 Git 或其他 SCM 类型的支持服务。 ```plaintext 名称: GitLens — Git supercharged / GitHub Pull Requests and Issues 开发者分别来自不同的团队但均服务于开源社区贡献者们。 用途: 跟踪变更历史记录并促进多人合作模式下的沟通效率提升。 ``` #### 5. **Serial Port Monitor Tools** 为了方便串口数据交互测试,可以选择合适的串口监视器类应用配合工作流运行状态监控。 ```plaintext 示例选项之一: 名称: Serial Port Terminal 描述: 实现基本 UART 数据收发显示界面友好直观便于初学者上手学习实践过程中遇到问题及时排查解决办法。 ``` 以上列举了几种核心类别下常见的代表性产品组合方案仅供参考实际选用还需依据个人习惯偏好做出调整优化决策最终达成高效稳定的开发体验目标! ```python # 示例:验证环境是否正常工作的简单程序 import machine pin = machine.Pin(2, machine.Pin.OUT) # GPIO2 输出引脚定义 while True: pin.value(not pin.value()) # 反转当前电平状态 time.sleep_ms(500) # 延迟半秒循环往复闪烁LED灯效果演示完毕结束退出即可关闭窗口返回桌面继续下一步骤探索更多可能性领域内的知识技能增长途径无限广阔等待发掘前行路上每一步都充满惊喜挑战自我极限突破成长蜕变成就非凡人生价值意义所在之处就在于不断追求卓越永不止步向前迈进直至抵达梦想彼岸实现心中所愿共勉之! ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值