Python初级练习相关问题

提问,设计一个字符串函数reverse(s),它返回字符串s的反串,例如reverse("abc")返回"cba",这个总是跑的结果出现None是为什么

img

您定义函数函数代码没有错,但没有返值。python函数默认返回None,即没有return语句,返回None。加上 return t语句就好了。

#!/usr/bin/nve python
# coding: utf-8


def reverse(s):
    t = ''

    for i in range(len(s)-1, -1, -1):
        t += s[i]

    return t


if __name__ == '__main__':
    print(reverse('abcde'))

img

您那个自定义函数,还可以如下定义:

一、切片。

  详情请点阅我2022-11-08发布的学习笔记“Python之魔幻切片

def reverse(s):
    return s[::-1] # 负整数步长切片,返回反转序列。
二、利用list.pop()方法模拟出栈操作。
def reverse(s):
    lis = list(s)
    return ''.join((lis.pop() for i in s))