Python语句报错的种类

本文详细介绍了Python编程中常见的10种错误,包括字符串拼接、语法错误、索引越界、元组操作、字典操作、字符串查找、索引超出、while循环、缩进问题和非ASCII字符错误。每个问题都提供了针对性的解决方案,帮助读者理解和避免这些陷阱。
摘要由CSDN通过智能技术生成
# 1.在用加号进行拼接时,必须用字符串。
'''
name='原野新之助'
age=5
print('我的名字是'+name+',我今年'+age+'岁了')
# TypeError: can only concatenate str (not "int") to str
点击运行输出时会报错,错误提示为 :TypeError: must be str, not int,翻译为类型错误,必须为字符串str,不能是数字int。
'''
# 解决方案:
name='原野新之助'
age='5'
print('我的名字是'+name+',我今年'+age+'岁了')
name='大菠萝'
age=18
print('我的名字是'+name+',我今年'+str(age)+'岁了')

# 2.语法错误。
'''
name='小明,'小兰''
print(name)
# SyntaxError: invalid syntax
点击运行报错,错误提示为:SyntaxError: invalid syntax ,翻译为语法错误:无效的语法
'''
# 解决方案:
name="小新,'妮妮',风间,正南,阿呆"
print(name)

# 3.使用列表时出现索引错误。
'''
list=[9,8,7,6,5,4]
print(list[7])
# IndexError: list index out of range
点击运行,错误提示为:IndexError: list index out of range,翻译为指示错误:列表的索引值超出了范围。
'''
# 解决方案,更改索引值。
list=['《蜡笔小新》',8,7,6,5,4]
print(list[0])

# 4.属性错误。
'''
tp1=('1','2','3','4','5')
tp1.remove()
# AttributeError: 'tuple' object has no attribute 'remove'
点击运行,错误提示为:AttributeError: 'tuple' object has no attribute 'remove',翻译为属性错误:元组对象中没有属性remove. 解决方案为,在元组中含有的属性进行操作。
'''
# 解决方案为,在元组中含有的属性进行操作。

# 5.字典类型错误。
'''
dic={'name':'小明','age':18,'fond':'打篮球'}
dic.pop()
# TypeError: pop expected at least 1 argument, got 0
点击运行,错误提示为:TypeError: pop expected at least 1 arguments, got 0,翻译为类型错误:pop期望至少得到一个参数,但是现在参数为0。解决方案为,在pop里面添加一个你要删除的对象。
'''
# 解决方案为,在pop里面添加一个你要删除的对象。
dic={'name':'蔡徐坤','age':20,'fond':'打篮球'}
dic.pop('name')
print(dic)

# 6.字典关键字错误。
'''
dic={'name':'大菠萝','age':20,'fond':'追星'}
print(dic['height'])
# KeyError: 'height'
点击运行,错误提示为:KeyError: 'height',翻译为关键字错误:height。
'''
# 解决方案为更改字典中含有的关键字。
dic={'name':'大菠萝','age':20,'fond':'追星'}
print(dic['fond'])

# 7.字符串值错误。
'''
info='Hello World'
result=info.index('a')
print(result)
# ValueError: substring not found
点击运行,错误提示为:ValueError: substring not found,翻译为值错误:子字符串未找到。
'''
# 解决方案:为把未找到的子字符串换成字符串中拥有的子字符串。
info='Hello World'
result=info.index('H')      #index()查找字符串首次出现的位置
print(result)

# 8.字符串索引错误。
'''
info='Hello World'
print(info[20])
# IndexError: string index out of range
点击运行,错误提示为:IndexError: string index out of range,翻译为指示误差:字符串索引超出范围。
'''
# 解决方案:为可以查看字符串的长度,更换索引值,要小于这个字符串的长度值。
info='Hello World'
print(info[0])

# 9.while循环的错误信息。
'''
while True:
    count+=1
    if count==20:
        return
# SyntaxError: 'return' outside function
点击运行,错误提示为:SyntaxError: 'return' outside function,翻译为语法错误:‘返回’以外的功能。
'''

# 10.缩进错误
'''
x=10
if x <10:
        print('这个数小于10')
    else:
         print('这个数大于10')
# IndentationError: unindent does not match any outer indentation level
点击运行,错误提示为:IndentationError: unindent does not match any outer indentation level,翻译为缩进错误:位置缩进不匹配任何的缩进等级
'''
# 解决办法:在编写代码的过程中,不要时用tab键时用空格键,同一用tab键进行缩进。
x=10
if x <10:
        print('这个数小于10')
else:
         print('这个数大于10')

# 11.解释器提示如:SyntaxError: invalid character in identifier
# 但又一直找不到问题点的话,请确保代码行内没有夹杂中文的空格,tab等,非文字字符.
'''
解决方案:可能就是莫名其妙的错误,可以试着把代码重新copy出来新建一个再运行。再复制进去就可以啦!
'''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值