登录
首页 >  文章 >  python教程

Day 字符串函数和递归

时间:2024-12-23 12:10:08 501浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《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的编程风格。 它们也更有效率地完成了任务。 请注意,对于一些递归函数(例如斐波那契数列的递归实现),迭代方法通常会更高效。

到这里,我们也就讲完了《Day 字符串函数和递归》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>