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