句子反转题:输入“I am a student.”,则输出“student. a am I”。
本测试测试样是 "Alice is a good student.$^”
# word reverse: input "I am a student.", then output "student. a am I"
# input_string = "the sky is blue"
input_string = "Alice is a good student.$^"
# input_string = "IamAg "
def state_changed(input_string, index_left, index):
"""
if state is changed, return True,
if state is not changed, return False
"""
if input_string[index_left] == ' ' and input_string[index] != ' ':
return True
elif input_string[index_left] != ' ' and input_string[index] == ' ':
return True
else:
return False
def reverse_word(input_string):
result = ""
index_left = 0
total_length = len(input_string)
index = 1
while index < total_length:
if state_changed(input_string, index_left, index):
tmp = input_string[index_left: index][::-1]
print "tmp", tmp
result += tmp
index_left = index
elif index == total_length-1: # 如果没有这一段的话,句子最后的一个单词就会被消去,比如“Hu Wang Zhou” 在转换之后,就成了“Wang Hu"。
tmp = input_string[index_left: index+1][::-1]
print "tmp", tmp
result += tmp
index_left = index
index += 1
print "--------"
print "intermidate result is:",result
print "final result is:", result[::-1]
reverse_word(input_string)