【发布时间】:2017-03-20 05:43:20
【问题描述】:
def get_middle_character(odd_string):
variable = len(odd_string)
x = str((variable/2))
middle_character = odd_string.find(x)
middle_character2 = odd_string[middle_character]
return middle_character2
def main():
print('Enter a odd length string: ')
odd_string = input()
print('The middle character is', get_middle_character(odd_string))
main()
我需要弄清楚如何在给定的奇数长度字符串中打印中间字符。但是当我运行这段代码时,我只得到最后一个字符。问题是什么?
【问题讨论】:
-
您的代码没有意义。你知道
x是什么吗?str.find做什么?我建议你逐步完成它,例如Python Tutor。请注意,一旦你有了中间字符的索引,你就完成了! -
您需要阅读有关字符串方法的文档,因为您使用错误。
odd_string.find(x)将返回-1,因为您正在搜索数字variable/2的字符串表示形式。因此,.find将返回 -1,odd_string[middle_character]将返回字符串的最后一个字符(根据 Python 的负索引)。
标签: python string function find