python帮我编写一段程序,在获取用户输入的数字后,编写一个函数用于模拟冒泡排序
时间: 2024-02-25 20:57:04 浏览: 24
好的,下面是一个获取用户输入的数字并模拟冒泡排序的程序:
```python
def bubble_sort(lst):
"""
冒泡排序
:param lst: 待排序列表
:return: 排序后的新列表
"""
# 将列表复制一份,避免改变原有列表
lst = lst[:]
# 循环 n-1 次,每次确定一个元素的位置
n = len(lst)
for i in range(n - 1):
# 每次比较相邻的两个元素,将大的元素向后移动
for j in range(n - i - 1):
if lst[j] > lst[j + 1]:
lst[j], lst[j + 1] = lst[j + 1], lst[j]
return lst
# 获取用户输入的数字
num_str = input("请输入要排序的数字,以空格分隔:")
# 将用户输入的字符串转为列表
num_lst = [int(x) for x in num_str.split()]
# 对列表进行冒泡排序
sorted_lst = bubble_sort(num_lst)
# 输出排序后的结果
print("排序后的结果为:", sorted_lst)
```
这个程序首先获取用户输入的数字,并将它们转为一个列表。然后,调用 `bubble_sort()` 函数对列表进行冒泡排序,最后输出排序后的结果。您可以按照如下方式运行这个程序:
```
请输入要排序的数字,以空格分隔:3 1 4 1 5 9 2 6 5 3 5
排序后的结果为: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
希望能帮助到您!