zoukankan      html  css  js  c++  java
  • Python错误解决

    1、IndentationError:expected an indented block

          

         原因:Python对缩进非常敏感

         解决:在出现此问题的哪一行进行缩进就好,注意tab不能与空格混用,有冒号的下一句一般要缩进

         

    2、TypeError: unorderable types: str() >= int()

          

          原因:input返回的是字符串,所以输入数字返回的也是字符串

          解决:强制类型转换,int(input())

         

    3、can't assign to function call

        

        原因:圆括号()表示函数调用,方括号[]表示列表值的引用

        解决:改为[]

       def normalize(name):
          l=list(name)
          l[0]=l[0].upper()
          for i in range(1,len(name)):
             l[i]=l[i].lower()
             l=''.join(l)
           return l

       l1=['adam','LISA','barT']
       l2=list(map(normalize,l1))
       print(l2)

    4、descriptor 'lower' of 'str' object needs an argument

         

          原因:调用的是函数的返回值,但是调用函数时没有传参

          解决:此处正确的是调用函数本身,即不带括号的函数调用

          

    5、ValueError: invalid literal for int() with base 2: '16'

          

          原因:int('16',2)意思是按照二进制将字符串‘16’转化成十进制,不是将16十进制转化成二进制,所以base=2时应该只有0,1,超出0,1范围就会报错

                     int('16',8)   ——>1*8+6=14

                     int('16',16)  ——>1*16+6=22

         扩展:十进制转化为二进制:bin(x)

                    十进制转化为八进制:oct(x)

                    十进制转化为十六进制:hex(x)

                    返回值均为字符串,并且带有0b,0o,0x,可以采用replace去掉:bin(x).replace('0b','');可以再套一个int转化为十进制整数:int(int('1111',2))

                                      

  • 相关阅读:
    Android总结篇系列:Android Service
    Android 6.0 扫描不到 Ble 设备需开启位置权限
    玩转Android之Drawable的使用
    玩转Android之二维码生成与识别
    玩转Android之数据库框架ActiveAndroid的使用
    玩转Android之加速度传感器的使用,模仿微信摇一摇
    玩转Android之在线视频播放控件Vitamio的使用
    Android5.0之TextInputLayout、FloatingActionButton的使用
    Android自定义View之ProgressBar出场记
    Android5.0之Activity的转场动画
  • 原文地址:https://www.cnblogs.com/rainbowdawn/p/7611158.html
Copyright © 2011-2022 走看看