首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将字符串打印n次“Hip”,然后是“Hurray!”使用递归函数

如何将字符串打印n次“Hip”,然后是“Hurray!”使用递归函数
EN

Stack Overflow用户
提问于 2022-02-22 11:11:58
回答 4查看 157关注 0票数 1

输出应该像这个Hip Hurray!

代码语言:javascript
复制
def cheers(n):
    
    if n == 0:
        print("Hurray!!!")
        
    elif n == 1:
        print('Hip' + ' ' + 'Hurray!!!')
        
    elif n > 1:
        cheers(n-1)
        print('Hip' + "Hurray!!!")

cheers(3)
EN

回答 4

Stack Overflow用户

发布于 2022-02-22 11:16:09

代码语言:javascript
复制
def hip_hip_hurray(n, message):
  if n == 0:
      print(message + 'Hurray!')
  else:   
      hip_hip_hurray(n - 1, message + 'Hip ')

hip_hip_hurray(3, '')
# prints: Hip Hip Hip Hurray!

这里的诀窍是使用message参数作为最终输出的聚合器,使用停止条件添加Hurray后缀并打印消息。

票数 1
EN

Stack Overflow用户

发布于 2022-02-22 11:19:47

如果您想要的是递归解决方案,只需这样做.很管用!!

代码语言:javascript
复制
def cheers(n):
  if n<=0:
    print("Hurray!!!")
    return
  print("Hip",end=" ")
  cheers(n-1)
票数 1
EN

Stack Overflow用户

发布于 2022-02-22 11:15:37

你就不能这么做吗?

代码语言:javascript
复制
def cheers(n):
    print('Hip ' * n + 'Hurray!!!')
cheers(3) # Hip Hip Hip Hurray!!!

使用递归:

代码语言:javascript
复制
def cheers(n):
    if n == 0:
        return 'Hurray!!!'
    return "Hip " + cheers(n - 1)

print(cheers(3))
# Hip Hip Hip Hurray!!!
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71220267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档