[英]Bubble sort algorithm input not working (Python)
這是一個關於python中數組處理的問題。
我有以下代碼從變量sorted
讀取數字數組:
print("Original: ",sorted)
for largeRepeat in range(0,len(sorted)):
for Repeat in range(0,len(sorted)-1):
Number1 = sorted[Repeat]
Number2 = sorted[Repeat + 1]
if Number1 > Number2:
sorted[Repeat] = sorted[Repeat+1]
sorted[Repeat+1] = Number1
print("Sorted: ",sorted)
現在,我遇到的問題是,我可以通過 2 種不同的方式為數組分配一些值,並將其硬編碼到程序中:
sorted = [1,11,22,2]
或通過用戶輸入,拆分使用split()
提供的數字:
inputs = input("Enter numbers as comma (,) separated values: ")
ToSort = inputs.split(",")
sorted = ToSort
如果我使用永久方法,程序會正確返回:
Original: [1, 11, 22, 2]
Sorted: [1, 2, 11, 22]
但是,如果我使用用戶輸入,程序會錯誤地返回:
Original: ['1', '11', '22', '2']
Sorted: ['1', '11', '2', '22']
任何人都可以提供有關為什么會發生這種情況的任何見解,我已經嘗試多次運行該程序並將其隔離到此特定部分。
我還注意到它將用戶輸入中的數字作為文本字符串返回,但我不知道這會如何導致問題。 (對不起,我對此很陌生!)
提前致謝!
編輯:謝謝,已經解決了!
您需要將每個輸入轉換為int
ToSort = list(map(int, inputs.split(",")))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.