如何教初学者在Python中反转一个字符串?

Tom*_*ski 4 python

我正在向第一年的数学学生教授"计算机程序设计入门"课程.人们必须假设这是学生第一次接触计算机编程.以下是我教学的主要目标:

  • 学生应该学习并理解Python的基础知识.
  • 最终,他们需要掌握足够多的Python工具,以便他们能够为给定的问题选择合适的工具.
  • 同时,他们必须通过计算机编程学习解决问题的基本技能.

我的教学方法是为每个新介绍的概念提供一系列激发学生的问题和戏弄.例如,在引入字符串和列表时,自然问题是字符串或列表反转的任务.如果我要求学生编写一个代码来检查字符串是否是回文,那么我最好告诉他们如何反转它.

对于列表,自然解决方案myString.reverse()至少有两个缺点:

  1. 它不会延续到字符串.
  2. 除非先说出方法,否则学生会认为这是一种魔力.

真正的问题是:如何引入在Python中反转字符串的问题?

Ant*_*ney 7

您可以先教他们有关步幅符号(::)然后切片并应用两者.

s = 'string'
s = s[::-1]
print s  # gnirts
Run Code Online (Sandbox Code Playgroud)

参考和更多信息:

在回复您的评论时,您可以提供任一参数.

>>> s[len(s):None:-1]  
'gnirts'
>>> s[5:None:-1]  
'gnirts'
>>> s[::-1]  # and of course
'gnirts'
Run Code Online (Sandbox Code Playgroud)