python报错笔记

       此文是博主学习python时所遇到的一系列报错问题。会随着时间一直增加~作为一个web前端初次接触python时感觉还挺简单的,因为学vue都没这么一帆风顺,不过当我学到引入.py文件时,不出意外的开始出来各种问题了。

1.引入.py文件时的一些报错

>>> python hello.py
  File "<stdin>", line 1
    python hello.py
               ^
SyntaxError: invalid syntax
这个问题是因为在cmd中引入python hello.py文件时是不需要进入python编辑模式的,正确做法应该在cmd模式下先切换到你.py文件的目录下,然后直接在当前目录下输入python hello.py就可以了。。切记要记得输入exit()退出python编辑模式后再切换路径,否则就会报如下错误:(cmd中直接切换别的盘符根目录应写为D:不用加cd)
>>> cd D:
  File "<stdin>", line 1
    cd D:
       ^
SyntaxError: invalid syntax

2.使用python自带的math函数时的一些错误

首先是我的hello.py文件里的代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import math
def move(x,y,step,angle=0):
	nx = x + step * math.cos(angle)
	ny = y - step * math.sin(angle)
	return nx,ny

然后当我直接在cmd的python模式下(即前面是>>>的时候)运行x,y = move(100,100,60,math.pi/6)时会报

>>> x,y = move(100,100,60,math.pi / 6)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'move' is not defined

看到move is not defined时才发现原来是没有引入自定义的move函数。所以,又写了如下代码引入自定义函数

>>> from hello import move

正当我满心欢喜的继续尝试输出x,y时,又报错了:

>>> x,y = move(100,100,60,math.pi / 6)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'math' is not defined

这个其实就和我上一个错一摸一样了,直接把上面的move换成math就可以了

>>> x,y = move(100,100,60,math.pi / 6)
>>> print(x,y)
151.96152422706632 70.0

第二个错误的例子来源于廖雪峰大佬的python教程中大家可以去看一下,不管是2.7还是3版本的教程都有,还非常详细、易懂。入门必看~~传送门在此我看的是3版本的~~以上例子在定义函数那一节。本章课后练习解一元二次方程式报错如下:

D:\help\wamp\www\pythonTest>python hello.py
请输入二次项系数
1
请输入一次项系数
4
请输入常数项
4
Traceback (most recent call last):
  File "hello.py", line 21, in <module>
    x1,x2 = quadratic(a,b,c)
  File "hello.py", line 5, in quadratic
    n = b*b-4*a*c
TypeError: can't multiply sequence by non-int of type 'str'
百度翻译的错误信息是:TypeError:不能用“STR”类型的非int乘以序列,虽然不怎么懂,但是隐约觉得应该是没有强制转换abc三个参数的类型导致的,果然当我加上了float(a)、float(b)、float(c)之后就好了。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Python入门笔记,我可以提供一些基本的知识点: 1. 在Python中,数字和字符串不能直接进行加法运算,只能是字符串和字符串的拼接。 2. 在编写Python程序时,如果在字符串中使用单引号,需要注意使用成对出现的单引号。如果使用单个单引号,可能会导致解析器。 3. 在Python中,逻辑运算符'and'和'or'不一定会计算右侧表达式的值。有时只需计算左侧表达式即可得出结果。这是因为'and'和'or'会将其中一个表达式的值作为最终结果,而不仅仅是True或False。 4. Python的流程控制中,顺序结构是最基本的结构,按照代码的编写顺序依次执行。 这些是Python入门笔记中的一些要点,希望对你有所帮助。如果你有其他问题,欢迎继续提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [python入门课程笔记](https://blog.csdn.net/YV_LING/article/details/123413336)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [python入门学习笔记](https://blog.csdn.net/Lalalalazy/article/details/113181549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值