2017-07-13 80 views
-4
print("Enter length of elements You want to sort\t") 
a=input() 
print("Enter those elements") 
b=raw_input() 
c=len(b) 
if(a==c): 
    print max(b) 
else: 
    print("Entered number of elements doesn't matches with length") 

這裏變量c要存儲列出b包含,以便它可以與長度比較,併產生結果的要素的數量。如何存儲列表的長度爲可變

但它顯示出一些錯誤。我想知道是否有其他方法可用於將長度列表分配給變量。在上述程序每次輸出顯示爲

Enter length of elements You want to sort 
5 
Enter those elements 
1 2 3 4 5 
Entered number of elements doesn't matches with length 

即使長度和元素的數量相匹配

+4

'LEN(B)''不b.len()'。 –

+7

的[如何獲取列表的大小(https://stackoverflow.com/questions/1712227/how-to-get-the-size-of-a-list) –

+0

我的問題是如何存儲可能的複製將列表的長度變成變量,而不僅僅知道列表的長度。所以我認爲我的問題不能重複如何獲得列表的大小 - Chris_Rands ........無論如何謝謝你的評論,我也從那個鏈接得到了很好的信息 –

回答

1

您需要使用LEN()函數來獲取列表,一個字符串的長度..

>> a = [1, 2, 3, 4] 
>> len(a) 
    4 

在你的代碼中你正在使用raw_input()。 raw_input()接受輸入並將其作爲字符串返回。因此,您需要將輸入字符串轉換爲列表。

print("Enter length of elements You want to sort\t") 
a=input() 
print("Enter those elements") 
b=raw_input() 
b1=b.split(',') 
c=len(b1) 
if(a==c): 
    print max(b) 
else: 
    print("Entered number of elements doesn't matches with length") 

然後通過你輸入的的raw_input 1,2,3,4

+0

即使輸入的元素的長度和數量匹配,結果顯示輸入的元素數量與長度不匹配。 –

0

您使用的raw_input()函數的結果初始化b變量提供。這是一個字符串(https://docs.python.org/2/library/functions.html#raw_input

然後你嘗試初始化c的長度爲b。 String對象有沒有「LEN」屬性,它是通過運行

dir(c) 

的LEN()內置函數確實無論你需要什麼,你可以通過調用

讓你的raw_input()字符串的長度容易覈查
answer_length = len(c) 

但是,調用直接在您輸入的字符串不先分析它會導致你得到字符串的長度,因爲它是由用戶,而不是你需要排序的元素數量插入。要獲得每個個體數量進行排序到一個列表,你需要做這樣的事情:

input_list = [int(i) for i in b.split()] 

什麼該行不被分割你們在B(你的raw_input的結果())所得到的字符串空格字符,然後使用分割列表中每個元素的整數值填充名爲input_list的變量。

那麼你可以申請一個簡單的排序來,並得到排序列表右後衛

input_list.sort() 

有了您的排序列表現在你可以得到最小/最大,做其他操作,您可能需要。

+0

是的,我明白了,謝謝你的解答 –

0

Python程序使用功能查找列表中的數量最多:

a=[] 
d=0 
n=input("Enter the length of the list") 
def large(a): 
    for i in range(1,n+1): 
     b=input("Enter elements") 
     a.extend(b) 
     d=n-len(a) 
     if(len(a)!=n): 
      print("add",d,"elements") 
     else: 
      print "The largest number is:",max(a) 
      exit() 
large(a) 

''' 
Output:- 
Enter the length of the list5 
Enter elements1,2,3,4 
('add', 1, 'elements') 
Enter elements[5] 
The largest number is:5 ''' 
相關問題