我的代码所做的是重新运行代码,它应该只要求用户不要键入字符串之类的,只键入整数,而不重新运行代码。这是有问题的,因为如果用户想要对50个整数进行排序,并且意外地键入了一个字符串,那么用户必须重新开始
我已经尝试了几个try-and-catch代码,但似乎不起作用
list1 = []
def bubble_sort():
numbers = input("How many numbers do you want to sort: ")
try:
values = int(numbers)
print("\nEnter your values: ")
for k in range (values):
list1.append(int(input()))
print("\nUnsorted list: ", list1)
for j in range(len(list1)-1,0,-1):
for i in range(j):
if list1[i] > list1[i+1]:
list1[i], list1[i+1] = list1[i+1], list1[i]
print("\nSorted list: ", list1)
except ValueError:
print("\nThat's not an int!\n")
bubble_sort()
bubble_sort()
试着这样做:
此解决方案更改异常的范围,以便在处理异常后,代码在适当的位置恢复(而不是再次运行所有的bubble_sort)
相关问题 更多 >
编程相关推荐