Hello! 欢迎来到小浪资源网!



Day 字符串函数和递归


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的编程风格。 它们也更有效率地完成了任务。 请注意,对于一些递归函数(例如斐波那契数列的递归实现),迭代方法通常会更高效。

相关阅读