python将首字符移到末尾_Python—将每个字符移动到字符串末尾,而不重用原始字符串...

因此,对于字符串“hello”,结果将是:

hello

ehllo

elhlo

ellho

elloh # here it use this string from the last result, instead of the original one

leloh

lleoh

...

hello # last result

在上面的示例中,原始字符串出现了两次,尽管我说过“不重用原始字符串”,但请记住,它只是为了更好地说明示例。

import sys

def move_char_by_increment(string, char, increment):

char_list = list(string)

old_index = char_list.index(char)

char = char_list.pop(old_index)

new_index = old_index + increment

char_list.insert(new_index, char)

return ''.join(char_list)

string = sys.argv[1]

total_char_input = len(string)

for char in string:

for i in range(0,total_char_input):

print(move_char_by_increment(string, char, i))

sys.exit()

这成功地将字符一个接一个地移动到字符串的末尾,但是,它确实重用了原始字符串,而不是像上面的示例中那样做…我找不到一种方法让它做我想做的事情。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 每个模块都有一个特殊的属性 `__name__`,用于标识模块的名字。当一个模块被直接执行时,Python 解释器会将该模块的 `__name__` 属性设置为字符串 `'__main__'`,表示该模块是作为主程序直接运行的。否则,`__name__` 的值就是该模块的文件名(不包括扩展名)。 这样做的目的是为了方便模块的测试和调试。当我们编写一个模块时,通常会在模块文件的末尾添加一些测试代码,以便于验证模块的正确性。然而,如果我们直接运行该模块文件,就会执行这些测试代码,这可能会产生一些不必要的副作用和错误。为了避免这种情况的发生,我们可以在测试代码前面添加 `if __name__ == '__main__':` 条件语句,这样当该模块被直接执行时,才会执行测试代码。 以下是一个示例,用于演示 `__name__` 属性的用法: ```python # 定义一个函数 def my_function(): print('This is my function') # 在模块文件的末尾添加测试代码 if __name__ == '__main__': print('This is a test') my_function() ``` 在这个示例,我们定义了一个名为 `my_function()` 的函数。然后,在模块文件的末尾添加了测试代码,使用 `if __name__ == '__main__':` 条件语句判断当前模块是否是作为主程序直接运行的。如果是,则执行测试代码并输出结果;否则不执行任何操作。 当我们直接运行该模块文件时,输出的结果为: ``` This is a test This is my function ``` 当我们在其他模块引用该模块时,不会执行测试代码,因为当前模块的 `__name__` 不等于 `'__main__'`。这样可以保证程序的正确性和可重用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值