我一直在尝试按字母顺序对字符串进行排序,但遇到了问题。我知道python上有排序功能,但我不能使用它。甚至不能使用.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部分是做什么的。谢谢!
发布于 2021-03-11 01:32:52
您可以使用(>,<,<=,<=,==,!= )来比较两个字符串。Python按字典顺序比较字符串,即使用字符的ASCII值。
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,所以我们交换这两个值。
https://stackoverflow.com/questions/66575236
复制