python学习笔记|开发中遇到的问题(持续更新)

  • 1.编码错误SyntaxError: Non-ASCII character '\xe5' in file

因为python的默认编码文件是用的ASCII码,而你的python文件中使用了中文等非英语字符。

解决办法是在Python源文件的最开始一行,加入一句:# coding=UTF-8或者# -*- coding:UTF-8 -*-

  • 2.please select a valid interpreter

需要选择编译器(interpreter),打开settings(CTRL + ALT + S),查找框输入 interpreter ,选择Project Interpreter,然后选择编译器,点击apply,重新启动pycharm。

  • 3.SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 711-712: truncated \uXXXX escape

在Python中\是转义符,\u表示其后是UNICODE编码,因此在这里会报错,在字符串前面加个r表示就可以了。

  • 4.https://account.jetbrains.com/网站或者idea通过帐号激活失败

之前使用网上的注册码,在hosts中将此网站解析到0.0.0.0

可使用命令行打开sudo vim /etc/hosts

0.0.0.0 account.jebrains.com删除或注释掉即可

  • 5.unindent does not match any outer indentation level

代码格式问题,出现的原因有
1、代码前后缩进量不一致
2、代码前后缩进符号不一致
3、tab与space混用

  • 6.数组赋值问题

在二维数组创建时遇到的问题,原初始化dp时使用dp = [[0] * len_j] * len_i,执行dp[0][0] = grid[0][0]时结果[[1,0,0],[1,0,0],[1,0,0]],每行的[0]均改变,导致最后的结果也不正确,因为用s = [[0] * len_j] * len_i初始化数组时,表示的是指向这个列表的引用,所以当修改一个值的时候,整个列表都会修改,后将其改为赋值法dp = [[0 for _ in range(len_j)] for _ in range(len_i)]解决。

  • 7.除法问题
    在做题时出现负数的b//a与结果不一致,如6除以-132为-1而不是0。
    python的 b / a 会向下取整, 比如 -1 / 132 = -1。 题目要求是取整数部分,那么负数的时候,实际应该是向上取整, 解决方法: int(b / float(a))
    python3 b / a 会转为小数计算,所以直接 int(b / a), 不能 b // a

更多内容,稍后补充。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,390评论 4 16
  • 字符集和编码简介 在编程中常常可以见到各种字符集和编码,包括ASCII,MBCS,Unicode等字符集。确切的说...
    兰山小亭阅读 9,115评论 0 13
  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,958评论 0 5
  • 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入...
    小小不懂11阅读 3,555评论 2 30
  • 可以看我的博客 lmwen.top 或者订阅我的公众号 简介有稍微接触python的人就会知道,python中...
    ayuLiao阅读 3,423评论 1 5

友情链接更多精彩内容