常见的一些BUG,但实际上在编写代码时,我们应该尽可能避免这些类型的错误:
- 变量名与函数名冲突:
def main():
print("Hello, World!")
main = 5
print("The value of main is:", main)
- 函数参数传递错误:
def add(a, b):
return a + b
result = add(1, 2)
print("1 + 2 =", result)
- 运算符优先级错误:
age = 10
if age < 18:
print("未成年")
elif age >= 18:
print("成年")
else:
print("奇怪,你的年龄不在合理范围内")
- 嵌套循环计算错误:
for i in range(10):
for j in range(10):
if i == j:
print(i)
- 条件语句逻辑错误:
def is_positive(number):
if number > 0:
return "Yes"
elif number < 0:
return "No"
else:
return "Maybe"
result = is_positive(-5)
print("-5 是正数吗?", result)
- 函数返回值错误:
def get_square(a):
return a ** 2
result = get_square(5)
print("5 的平方是:", result)
- 变量作用域错误:
def outer_function():
global result
result = 10
def inner_function():
result = 5
inner_function()
print("outer_function 中的 result:", result)
- 循环未正确终止:
for i in range(10):
if i == 5:
break
print(i)
- 函数递归调用导致无限循环:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
n = 10
result = factorial(n)
print("10 的阶乘是:", result)
- 类属性与实例属性混淆:
class Person:
height = 170
p = Person()
print("Person 类的 height 是:", Person.height)
print("实例 p 的 height 是:", p.height)
- 误将全局变量当作局部变量:
def function():
global x
x = 10
function()
print("主程序中的 x:", x)
- 在循环中修改列表长度:
my_list = [1, 2, 3, 4, 5]
for i in my_list:
if i == 3:
my_list.remove(i)
print("删除了元素")
- 切片越界:
my_string = "Hello, World!"
print(my_string[9:10])
- 函数参数传递错误(列表切片):
def print_list(lst):
print(lst)
print_list([1, 2, 3][:3])
- 误将整数当作字符串:
age = 18
if age < 18:
print("未成年")
elif age >= 18:
print("成年")
else:
print("奇怪,你的年龄不在合理范围内")
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/163902.html