2016-11-07 6 views
-1

バブルソートアルゴリズムをコーディングしようとしています。 2番目のセクションを追加しようとするまでは完璧に動作していましたが、必要な場合にのみ入力( "c")をフロートに変更します。このpythonプログラムの問題点はわかりません

def bs(l): 
    s=True 
    while s: 
     s=False 
     for i in range(0,len(l)-1): 
      if l[i]>l[i+1]: 
       s=True 
       h=l[i+1] 
       l[i+1]=l[i] 
       l[i]=h 
    return l 

b=[] 
for q in range(int(input("How many numbers do you want to sort?"))): 
    print("Enter the value for place number",q+1) 
    c=input() 
    c=list(c) 
    if "." in c: 
     c="".join(c) 
     c=float(c) 
     b.append(c) 
    c=int(c) 
    b.append(c) 

print("\nThe numbers in order, are:\n\nSmallest",bs(b),"Largest\n") 

ありがとうございます、ありがとうございます。

答えて

0

あなたはこの部分を変更する必要があります

if "." in c: 
    c="".join(c) 
    c=float(c) 
    b.append(c) 
c=int(c) 
b.append(c) 

他に持っている:ブランチ

if "." in c: 
    c="".join(c) 
    c=float(c) 
    b.append(c) 
else: 
    c=int(c) 
    b.append(c) 
関連する問題