Python Day-String 使用循环、递归、任务的函数逻辑

wufei123 2025-01-05 阅读:70 评论:0
1) 在字符串之间添加空格 txt = "todayisfriday" #today is friday first = true for letter in txt: if letter>='a' a...

python day-string 使用循环、递归、任务的函数逻辑

1) 在字符串之间添加空格

PHP
txt = "todayisfriday"
#today is friday
first = true
for letter in txt:
    if letter>='a' and letter<='z':
        if first==true:
            first = false
        else:
            print(' ',end='')
    print(letter,end='')

输出:
今天是星期五

2) 删除字符串之间的空格

PHP
txt = "    today is friday"
#today is friday

for letter in txt:
    if letter==' ':
        pass
    else:
        print(letter,end='')

输出:
今天是星期五

3) ltrim- 删除字符串左侧的空格。

PHP
#ltrim
txt = "    today is friday"
#today is friday
alphabet = false
for letter in txt:
    if letter==' ' and alphabet == false:
        pass
    else:
        alphabet = true
        print(letter,end='')

4) rtrim- 删除字符串右侧的空格。

PHP
txt = "today is friday   "
#today is friday
alphabet = false
i = len(txt)-1
while i>=0:
    letter = txt[i]
    if letter==' ' and alphabet == false:
        pass
    else:
        alphabet = true
        end = i
        j = 0
        while j<=end:
            print(txt[j],end='')
            j+=1
        break
    i-=1

输出:

今天是星期五

5) 从给定字符串中删除不需要的空格

PHP
txt = "today          is             friday"
#today is friday
i = 0 
while i<len(txt):
    if txt[i] != ' ':
        print(txt[i],end='')
    else:
        if txt[i-1]!=' ':
            print(txt[i],end='')
    i+=1

输出:

今天是星期五

递归:
函数调用自身。

循环-->迭代方法。
递归-->递归方法。

示例:1

PHP
def display(no):
    print(no, end=' ')
    no+=1
    if no<=5:
        display(no)


display(1)

输出:

PHP
1 2 3 4 5

调用阶乘的递归函数:

5!=5x4x3x2x1(或)5x4!

4!=4x3x2x1(或)4x3!

3!=3x2x1(或)3x2!

2!=2x1(或)2x1!

1!=1

示例:2

PHP
def find_fact(no):
    if no==1:
        return 1
    return no * find_fact(no-1)

result = find_fact(5)
print(result)

输出:
120

说明:
1) find_fact(5)
返回 5 * find_fact(4) #no-1 = 5-1 -->4

2) find_fact(4)
返回 4 * find_fact(3) #no-1 = 4-1 -->3

3) find_fact(3)
返回 3 * find_fact(2) #no-1 = 3-1 -->2

4) find_fact(2)
返回 2 * find_fact(1) #no-1 = 2-1 -->1

5) find_fact(1)
基本情况:返回 1

基本情况:递归中的基本情况是停止递归调用的条件。

任务:

strip() - 删除字符串开头和结尾的所有空白字符(空格、制表符、换行符)。

1) 删除给定字符串前后不需要的空格。

PHP
txt = "    today is friday   "

start = 0
end = len(txt) - 1

while start < len(txt) and end >= 0:

    i = start
    while i < len(txt) and txt[i] == ' ':
        i += 1
    start = i

    j = end
    while j >= 0 and txt[j] == ' ':
        j -= 1
    end = j
    break  

result = txt[start:end+1]
print(result)

输出:

PHP
today is friday

2)使用递归函数反转数字:

PHP
def reverse_a_no(no,reverse = 0):
    if no==0:
        return reverse    
    rem = no%10
    reverse = (reverse*10) + rem
    no=no//10 
    return reverse_a_no(no,reverse)

no = int(input("enter no. ")) 
reversed_no = reverse_a_no(no) 
print(reversed_no)

输出:

PHP
enter no. 15
51

3)是否找到质数:

PHP
def find_prime(no,div=2):
    if div<no: 
        if no%div == 0:
            return false
        div+=1
        return find_prime(no,div)
    else:
        return true

no=int(input("enter the number: "))

if find_prime(no):
    print("emirp number")
else:
    print("not emirp number")

输出:

PHP
1) enter the number: 11
   emirp number
2) enter the number: 15
   not emirp number

4) 查找斐波那契数:

PHP
def find_fibonacci(first_num,sec_num,no):
    if first_num > no:
        return
    print(first_num, end=" ")

    find_fibonacci(sec_num,first_num+sec_num,no)      

no = int(input("enter the number: ")) 
find_fibonacci(0,1,no)

输出:

PHP
enter the number: 10
0 1 1 2 3 5 8 

5。是否查找回文:

PHP
def palindrome(num,count=0):
    if num == 0:
        return count
    return palindrome(num//10,count*10+num%10)

num=int(input("enter the number:"))
result=palindrome(num)
if result==num:
    print("palindrome")
else:
    print("not palindrome")

输出:

PHP
Enter the number:121
Palindrome

已创建 hackerrank 帐户:https://www.hackerrank.com/dashboard

以上就是Python Day-String 使用循环、递归、任务的函数逻辑的详细内容,更多请关注知识资源分享宝库其它相关文章!

版权声明

本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com

分享:

扫一扫在手机阅读、分享本文

发表评论
热门文章
  • BioWare埃德蒙顿工作室面临关闭危机,龙腾世纪制作总监辞职引关注(龙腾.总监.辞职.危机.面临.....)

    BioWare埃德蒙顿工作室面临关闭危机,龙腾世纪制作总监辞职引关注(龙腾.总监.辞职.危机.面临.....)
    知名变性人制作总监corrine busche离职bioware,引发业界震荡!外媒“smash jt”独家报道称,《龙腾世纪:影幢守护者》制作总监corrine busche已离开bioware,此举不仅引发了关于个人职业发展方向的讨论,更因其可能预示着bioware埃德蒙顿工作室即将关闭而备受关注。本文将深入分析busche离职的原因及其对bioware及游戏行业的影响。 Busche的告别信:挑战与感激并存 据“Smash JT”获得的内部邮件显示,Busche离职原...
  • 闪耀暖暖靡城永恒怎么样-闪耀暖暖靡城永恒套装介绍(闪耀.暖暖.套装.介绍.....)

    闪耀暖暖靡城永恒怎么样-闪耀暖暖靡城永恒套装介绍(闪耀.暖暖.套装.介绍.....)
    闪耀暖暖钻石竞技场第十七赛季“华梦泡影”即将开启!全新闪耀性感套装【靡城永恒】震撼来袭!想知道如何获得这套精美套装吗?快来看看吧! 【靡城永恒】套装设计理念抢先看: 设计灵感源于夜色中的孤星,象征着淡然、漠视一切的灰色瞳眸。设计师希望通过这套服装,展现出在虚幻与真实交织的夜幕下,一种独特的魅力。 服装细节考究,从面料的光泽、鞋跟声响到裙摆的弧度,都力求完美还原设计初衷。 【靡城永恒】套装设计亮点: 闪耀的绸缎与金丝交织,轻盈的羽毛增添华贵感。 这套服装仿佛是从无尽的黑...
  • python怎么调用其他文件函数

    python怎么调用其他文件函数
    在 python 中调用其他文件中的函数,有两种方式:1. 使用 import 语句导入模块,然后调用 [模块名].[函数名]();2. 使用 from ... import 语句从模块导入特定函数,然后调用 [函数名]()。 如何在 Python 中调用其他文件中的函数 在 Python 中,您可以通过以下两种方式调用其他文件中的函数: 1. 使用 import 语句 优点:简单且易于使用。 缺点:会将整个模块导入到当前作用域中,可能会导致命名空间混乱。 步骤:...
  • 俄罗斯引擎yandex入口官网地址 yandex网址在线免费进入(俄罗斯.官网.在线免费.入口.地址......)

    俄罗斯引擎yandex入口官网地址 yandex网址在线免费进入(俄罗斯.官网.在线免费.入口.地址......)
    俄罗斯引擎yandex官网地址入口在哪里?这是不少网友都关注的问题,接下来由php小编为大家带来yandex网址在线免费进入,感兴趣的网友一起随小编来瞧瞧吧! 俄罗斯引擎yandex入口官网地址 1、俄罗斯引擎yandex入口官网地址☜☜☜☜☜点击进入 2、yandex网址在线免费进入☜☜☜☜☜点击进入 【俄罗斯引擎yandex】 1、Yandex的搜索引擎在俄罗斯拥有极高的市场份额,其算法针对俄语和斯拉夫语系进行了优化,能更好地理解用户意图,提供更精准的搜索结果。它不仅...
  • 斗魔骑士哪个角色强势-斗魔骑士角色推荐与实力解析(骑士.角色.强势.解析.实力.....)

    斗魔骑士哪个角色强势-斗魔骑士角色推荐与实力解析(骑士.角色.强势.解析.实力.....)
    斗魔骑士角色选择及战斗策略指南 斗魔骑士游戏中,众多角色各具特色,选择适合自己的角色才能在战斗中占据优势。本文将为您详细解读如何选择强力角色,并提供团队协作及角色培养策略。 如何选择强力角色? 斗魔骑士的角色大致分为近战和远程两种类型。近战角色通常拥有高攻击力和防御力,适合冲锋陷阵;远程角色则擅长后方输出,并依靠灵活走位躲避攻击。 选择角色时,需根据个人游戏风格和喜好决定。喜欢正面硬刚的玩家可以选择战士型角色,其高生命值和防御力能承受更多伤害;偏好策略性玩法的玩家则可以选择法...