鱼C论坛

 找回密码
 立即注册
查看: 2634|回复: 9

[已解决]输入一串字符然后反着打印输出

[复制链接]
发表于 2020-3-5 16:20:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. def fdy(x):
  2.     a = len(x)
  3.     b = list(x)
  4.     if a==1:
  5.         return x
  6.     else :
  7.         c = b.pop()
  8.         x = ''
  9.         for i in b:
  10.             x = x + i
  11.         return c + fdy(x)
  12. x = input('请输入一串字符,然后进行反打印输出:')
  13. fdy(x)
复制代码

我想问下哪里错了啊,我输入了一串字符,没报错,但是没输出,为嘛啊
最佳答案
2020-3-5 16:28:02
楼主忘了 print() 最后的结果

  1. def fdy(x):
  2.     a = len(x)
  3.     b = list(x)
  4.     if a == 1:
  5.         return x
  6.     else:
  7.         c = b.pop()
  8.         x = ''
  9.         for i in b:
  10.             x = x + i
  11.         return c + fdy(x)


  12. x = input('请输入一串字符,然后进行反打印输出:')
  13. print(fdy(x))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-5 16:23:45 | 显示全部楼层
根本不用这么麻烦,直接切片就行了:

  1. >>> s = 'FishC'
  2. >>> print(s[::-1])
  3. ChsiF
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-5 16:25:18 | 显示全部楼层
zltzlt 发表于 2020-3-5 16:23
根本不用这么麻烦,直接切片就行了:

我知道这个,但我要用递归做
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-5 16:28:02 | 显示全部楼层    本楼为最佳答案   
楼主忘了 print() 最后的结果

  1. def fdy(x):
  2.     a = len(x)
  3.     b = list(x)
  4.     if a == 1:
  5.         return x
  6.     else:
  7.         c = b.pop()
  8.         x = ''
  9.         for i in b:
  10.             x = x + i
  11.         return c + fdy(x)


  12. x = input('请输入一串字符,然后进行反打印输出:')
  13. print(fdy(x))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-5 16:36:41 | 显示全部楼层
zltzlt 发表于 2020-3-5 16:28
楼主忘了 print() 最后的结果

那为嘛这个我没加print()也可以有输出打印啊
  1. def jc(n):
  2.     if n==1:
  3.         return 1
  4.     else :
  5.         return jc(n-1)*n
复制代码

这个是打印n的阶乘的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-5 16:38:01 | 显示全部楼层
来mua一口 发表于 2020-3-5 16:36
那为嘛这个我没加print()也可以有输出打印啊

这个是打印n的阶乘的

你是在哪里测试的?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-5 16:40:07 | 显示全部楼层
zltzlt 发表于 2020-3-5 16:38
你是在哪里测试的?

idle啊,就我刚才那个打印n的阶乘的话,在交互端输入
jc(5)
就直接给我打印120了
(我不知道咋发图片)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-5 16:40:17 | 显示全部楼层
来mua一口 发表于 2020-3-5 16:36
那为嘛这个我没加print()也可以有输出打印啊

这个是打印n的阶乘的

因为你在IDLE的交互模式下输入的,在编辑模式(也就是你写程序的地方)下要打印必须加print
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-5 16:41:09 | 显示全部楼层
来mua一口 发表于 2020-3-5 16:40
idle啊,就我刚才那个打印n的阶乘的话,在交互端输入
jc(5)
就直接给我打印120了

在交互模式中输入会直接打印的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-5 16:42:28 | 显示全部楼层
zltzlt 发表于 2020-3-5 16:41
在交互模式中输入会直接打印的

噗~~~我的锅,不好意思不好意思,谢谢谢谢,麻烦了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-3 15:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表