3 回答

TA貢獻1873條經(jīng)驗 獲得超9個贊
A.sort()對 的內(nèi)容進行排序A,但返回值為None。
>>> A = [5, 3, 6, 4]
>>> return_value = A.sort()
>>> print(A)
[3, 4, 5, 6]
>>> print(return_value)
None
如果您需要打印排序列表A,那么您應(yīng)該使用
print(sorted(A))
代替
print(A.sort())

TA貢獻1795條經(jīng)驗 獲得超7個贊
在塊中定義的變量僅在該塊中可用。無法在塊外訪問它。
def solution(A):
? ??
? ? for num in A:
? ? ? ? if(-1000000 <= num <= 1000000):? ? ? ? ? ??
? ? ? ? ? ? check = True
? ? ? ? ? ? ? ??
? ? ? ? else:? ? ? ? ? ? ? ??
? ? ? ? ? ? check = False
? ? ? ? ? ? break
? ? return check
因此,您無法在解決方案功能之外訪問此處的檢查值。因為你的函數(shù)已經(jīng)返回檢查。簡單地
check = solution(A)
在函數(shù)之外保存您的支票。
print(A.sort())
A.sort() 進行就地排序,它返回 None,使用 print(sorted(A)) 或執(zhí)行 A.sort() 然后執(zhí)行 print(A)

TA貢獻1824條經(jīng)驗 獲得超6個贊
正如評論中指出的那樣,您的排序語法不正確并且沒有返回任何內(nèi)容。此外,您還使用了全局變量,這違背了使用函數(shù)(模塊化)的目的。下面的代碼更加高效和可讀。
#Check if number 'A' is within range
A = [10, 3, 600000000, 3, 2]
def solution(A):
for num in A:
if(num > 1000000 or num < -1000000):
return False
return True
if(solution(A) == True):
print(sorted(A)) # Fixed sort syntax
else:
print("Out of range!")
輸出:
替代輸入 [10,3,3,-3]:
添加回答
舉報