|
发表于 2019-2-3 08:03:55
|
显示全部楼层
本楼为最佳答案
本帖最后由 像番茄加两个蛋 于 2019-2-3 08:05 编辑
错误提示:
您看到错误提示后,应尝试着看其意思,看提示的错误寻找出出错的行数。
我们可以从错误提示中看到这句话话 :
File "D:/360MoveData/Users/34795/Desktop/1.py", line 12, in <module>
其中有一个line 12说明在代码的第十二行出错。
再看错误类型提示:
TypeError: must be str, not int
意思为必须是字符串不能是整数。
然后我们找到第12行的代码:
- print('输入错误,您还有' + chance-1 + '次机会')
复制代码
我们可以看到一个字符串加上一个变量(这变量类型为整数)减去1再加上一个字符串。
从这行代码再根据错误类型我们就可以大概知道问题出现在了chance-1上,因为它是一个整数类型而不是字符串,我们一定牢记字符串类型和整数类型是不能相加的
所以我们要想办法将其整体转换为字符串。此时我们需要一个str()方法来将其转换为字符串类型。
更改后的代码:
- print('输入错误,您还有' + str(chance-1) + '次机会')
复制代码 注意:一定要将chance-1小括号括起来使它们成为一个整体一起转换为字符串类型。
我们再回头看所有代码会发现第9行代码也存在着一样的问题:
- print('密码中不能含有*号,您还有' + chance +'次机会')
复制代码 也是字符串+整数类型变量+字符串。所以需要将其转换为字符串:
- print('密码中不能含有*号,您还有' + str(chance) +'次机会')
复制代码
|
|