python - 如何执行此递归方法以在单独的行上从字符串中打印出每 3 个字母?
问题描述
我正在制作一个采用字符串的方法,它根据窗口在单独的行上输出部分字符串。
例如:
我想在单独的行上输出我的字符串的每 3 个字母。
Input : "Advantage"
Output:
Adv
ant
age
Input2: "23141515"
Output:
231
141
515
我的代码:
def print_method(input):
mywindow = 3
start_index = input[0]
if(start_index == input[len(input)-1]):
exit()
print(input[1:mywindow])
printmethod(input[mywindow:])
但是我得到一个运行时错误....有人可以帮忙吗?
解决方案
我认为这就是你想要得到的。这是我更改的内容:
重命名
input
为input_str
.input
是 Python 中的关键字,所以不适合用作变量名。_
在递归调用中添加了缺失print_method
0:mywindow
从而不是打印1:mywindow
(这将跳过第一个字符)。当您从 开始时0
,您也可以只说:mywindow
得到相同的结果。将退出语句(是
sys.exit
吗?)改为 areturn
(可能是想要的),并将if
条件更改为在输入空字符串后返回。最后打印的字符串长度可能不是 3;如果你想要这个,你可以使用if len(input_str) < 3: return
def print_method(input_str):
mywindow = 3
if not input_str: # or you could do if len(input_str) == 0
return
print(input_str[:mywindow])
print_method(input_str[mywindow:])
推荐阅读
- servlets - Servlet 过滤器未初始化,url 映射在 web 片段中不起作用?
- javascript - 检查动态路由快递js
- docker - Docker:无法从控制台登录
- sql - 集团公司及其交易
- sockets - 如何减少通过多播发送的数据包的传输大小?
- html - react-select inputProps 未应用于 AsyncSelect
- javascript - 有没有办法独立处理为多个可观察对象发出的值,然后在所有可观察对象都完成时做一些事情?
- git - 在合并之前将远程 HEAD 重置为特定的提交
- laravel - 使用 vuejs 和 laravel 将嵌套数据存储在文件中
- bash - 将 Xterm 的输出重定向到日志文件