- 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
更多内容,稍后补充。