2017-10-31 8 views
0

ユーザーが入力した2つのリストの違いを調べようとしました。ループを使用して2つのリストの相違点を調べる

facebookF = [ ] 
partyA = [ ] 
add_facebookF_option = 'Y' 
while add_facebookF_option == 'Y': 
    facebookF.append(input('What friends do Alice have in her Facebook? ')) 
    add_facebookF_option = input('Type Y to add more friend for Alice. Type others if no.') 

add_partyA_option = 'Y' 
while add_partyA_option =='Y': 
    partyA.append(input('Who is attending the party?')) 
    add_partyA_option = input('Is there any others attending the party? Type Y if yes, type others if no.') 


print(facebookF) 
print(partyA) 

notInvited=[] 
list3 = facebookF + partyA 
for i in range(len(list3)): 
    if (list3[i] not in facebookF) or (list3[i] not in partyA): 
     notInvited.append(list3[i]) 
print(notInvited) 

ユーザーがリストの入力に何も入力されていない場合、それは次のように出力していた:

What friends do Alice have in her Facebook?   #pressed enter, Alice has no friends. 
Type Y to add more friend for Alice. Type others if no.N 
Who is attending the party?1 
Is there any others attending the party? Type Y if yes, type others if no.Y 
Who is attending the party?2 
Is there any others attending the party? Type Y if yes, type others if no.Y 
Who is attending the party?3 
Is there any others attending the party? Type Y if yes, type others if no.N 
[''] 
['1', '2', '3'] 
['', '1', '2', '3'] 

がどのように私はリストに、''、空の文字列を取り除くのですか? 正確に言うと、何も印刷しない空のリストを作る方法は? 申し訳ありませんが、コードをまだフォーマットしていません。最初の場所で、リストに空の文字列を入力

答えて

0

避けてください:

facebookF = [ ] 
partyA = [ ] 
add_facebookF_option = 'Y' 
while add_facebookF_option == 'Y': 
    a = input('What friends do Alice have in her Facebook? ') 
    if a: 
     facebookF.append(a) 
    add_facebookF_option = input('Type Y to add more friend for Alice. Type others if no.') 

add_partyA_option = 'Y' 
while add_partyA_option =='Y': 
    a = input('Who is attending the party?') 
    if a: 
     partyA.append(a) 
    add_partyA_option = input('Is there any others attending the party? Type Y if yes, type others if no.') 


print(facebookF) 
print(partyA) 

notInvited=[] 
list3 = facebookF + partyA 
for i in range(len(list3)): 
    if (list3[i] not in facebookF) or (list3[i] not in partyA): 
     notInvited.append(list3[i]) 
print(notInvited) 
+0

ああ、今理にかなっています。 Thx。 – tooooony

+0

これはあなたの質問に答えましたか?あなたがそれを受け入れるかもしれません。将来の読者が簡単に答えを見つけることができます。 –

+0

また、空のmylistはFalseと評価されるので、印刷前に 'if mylist:'でテストすることができます。 – progmatico

関連する問題