Day 字符串函数和递归(递归.字符串.函数.Day...)

wufei1232025-01-08python8

day 字符串函数和递归

1. 在字符串中添加空格

以下代码在字符串todayisfriday的每个字符之间插入空格:

txt = "todayisfriday"
result = " ".join(txt)
print(result)  # 输出:t o d a y i s f r i d a y

2. 删除字符串中的空格

以下代码删除字符串today is friday中的所有空格:

txt = "    today is friday"
result = txt.replace(" ", "")
print(result)  # 输出:todayisfriday

3. 去除字符串左侧空格

以下代码去除字符串左侧的空格:

txt = "    today is friday"
result = txt.lstrip()
print(result)  # 输出:today is friday

4. 去除字符串右侧空格

以下代码去除字符串右侧的空格:

txt = "today is friday   "
result = txt.rstrip()
print(result)  # 输出:today is friday

5. 删除多余空格

以下代码删除字符串中多余的空格,只保留字符间的单个空格:

txt = "today              is                       friday"
result = " ".join(txt.split())
print(result) # 输出:today is friday

递归:

递归是一种编程技术,其中函数调用自身。

函数:

函数是一段可重用的代码块,用于执行特定任务。

迭代与递归:

迭代使用循环来重复执行代码块,而递归使用函数自身调用来重复执行代码块。

示例与任务:

以下代码提供了示例和任务的改进版本,并使用了更简洁的Python代码:

示例:使用递归打印数字序列

def display(no, limit):
    if no > limit:
        return
    print(no, end=' ')
    display(no + 1, limit)

display(1, 5)  # 输出:1 2 3 4 5

阶乘 (递归)

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

print(factorial(4))  # 输出:24

删除多余空格 (改进)

txt = "    today              is                       friday    "
result = " ".join(txt.split())
print(result)  # 输出:today is friday

反转数字 (递归)

def reverse_number(num):
    return int(str(num)[::-1])

num = int(input("Enter a number: "))
print(reverse_number(num)) # 输入 123,输出 321

回文数检查 (非递归)

def is_palindrome(num):
    return str(num) == str(num)[::-1]

num = int(input("Enter a number: "))
print("Palindrome" if is_palindrome(num) else "Not Palindrome")

斐波那契数列 (递归)

def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

no = int(input("Enter the number of terms: "))
for i in range(no):
    print(fibonacci(i), end=" ")

素数检查 (递归)

def is_prime(n, i=2):
    if n <= 2:
        return True if n == 2 else False
    if n % i == 0:
        return False
    if i * i > n:
        return True
    return is_prime(n, i + 1)

no = int(input("Enter a number: "))
print("Prime" if is_prime(no) else "Not Prime")

这些改进后的代码更简洁、更易读,并且更符合Python的编程风格。 它们也更有效率地完成了任务。 请注意,对于一些递归函数(例如斐波那契数列的递归实现),迭代方法通常会更高效。

以上就是Day 字符串函数和递归的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。