fan1993423 发表于 2018-3-9 10:40:01

偶数字符串取最中间两位,奇数字符串取中间的一位

代码如下:
def strnum(a):
    if a.isalpha():
      if len(a)%2==0:
            print(a+a)
      else:
            print(a)
    else:
      print('请输入纯字符串,不要有数字等其他字符')
为什么会显示TypeError: string indices must be integers这个错误?求大佬解答。

BngThea 发表于 2018-3-9 11:06:48

下标必须为整数,把你的len(a/2)-1中间的/改为//

fan1993423 发表于 2018-3-9 11:24:18

BngThea 发表于 2018-3-9 11:06
下标必须为整数,把你的len(a/2)-1中间的/改为//

我在if len(a)%2==0判断的情况下,那么这个len(a)是偶数啊,那么len(a)/2那肯定也是个整数,你怎么看出来不是整数的,我的想法就是比如a='abcdef',那么输出应该是cd,那么就是a+a,len(a)=6,那么就是len(a)/2+(len(a)/2-1)

BngThea 发表于 2018-3-9 11:54:25

fan1993423 发表于 2018-3-9 11:24
我在if len(a)%2==0判断的情况下,那么这个len(a)是偶数啊,那么len(a)/2那肯定也是个整数,你怎么看出来 ...

python中/号返回的是浮点数

fan1993423 发表于 2018-3-10 22:24:20

BngThea 发表于 2018-3-9 11:54
python中/号返回的是浮点数

原来如此,谢谢。
页: [1]
查看完整版本: 偶数字符串取最中间两位,奇数字符串取中间的一位