2017-08-06 15 views
-1

私のコードに問題があります。「あなたはまれな姓があります!入力された文字列にqまたはQがある場合は非常にまれです。それ以外の場合はqは表示されませんが、qは表示されません。ifステートメントでコードが動作しない

は、ここでは、コードの作業に私ではない:

a = input("What is your surname? ") 
d = len(a) 
v = ["q", "Q"] 
if any(v in a for v in a): 
    if a[0] == "Q" : 
    if a[0] == ("q"): 
     print("You have an extremly rare surname!") 
    if a[0] == ("Q"): 
     print("You have an extremly rare surname!") 
    if a[0] == "q" : 
    if a[0] == ("q"): 
     print("You have an extremly rare surname!") 
    if a[0] == ("Q"): 
     print("You have an extremly rare surname!") 
    if "q" in a[1:d]: 
    print("You have a rare surname!") 
else: 
    print("No Qs here.") 
+0

を、それを試してみてください。代わりに実際のコードを追加してください。 – miradulo

+0

テスト用にコードをコピーして貼り付けることができない場合は、ほとんどの場合はほとんど役に立ちません。質問を編集してコードをここに貼り付けてください(コメントではありません) –

答えて

0

を条件if any(v in a for v in a)は意味をなさないvaであるが、同時にaの一部としてvを定義し、それは意味をなさない場合はあなた、あなたがテストしています。

また、他の条件もかなり悪いです。最初の文字がQの場合はテストし、それが実際にはqならテストします。

あなたの全体のプログラムは、あなたが私は非常にあなたが戻って、条件のための基本的なPythonの構文を再学習をお勧めします使用条件のいずれかを理解していない場合、あなたはそれがより良い次回書くことができるように

a = input("what is your surname?") 
if a[0] in ('q', 'Q'): 
    print('extremely rare') 
elif 'q' in a[1:] or 'Q' in a[1:]: 
    print('rare') 
else: 
    print('no q here') 

のように記述することができます時間

0

はあなたのコードを簡素化するもう一つの方法は、単に最初の文字なしの文字列をチェックするために、文字列sliceを小文字と使用するために文字列を変換するために.lower()を使用することですになります。

しかし、それを追加する気にしないでください - 10

はあなたが絵を忘れたhere!

関連する問題