问题描述
我一直在尝试按字母顺序对字符串进行排序,但被卡住了。我知道 python 上存在 sort 函数,但我不能使用它。甚至不能使用 .join 方法。必须使用 for 循环来完成这一切。
def wordOrder(word):
word = list(word)
for i in range(0,len(word)):
for j in range(i,len(word)):
if word[i] > word[j]:
word[i],word[j] = word[j],word[i]
word = ""+ str(word)
return word
这是我所拥有的,但我是和导师一起做的,不记得 if 部分是做什么的。 谢谢!
解决方法
您可以使用 ( >,
If 语句比较第一个和第二个字母的 ASCII 值。 如果它大于交换。
例如
print(wordOrder('ba'))
output
['a','b']
小a
的ASCII值为97
,b
为98
。
if word[i] > word[j]:
word[i],word[j] = word[j],word[i]
所以,
word[i] --> b --> 98
word[j] --> a --> 97
因为 98 大于 97,所以我们交换两个值。