2017-11-18 15 views
0

であればどのように私はチェックしないので、私は、パスワードシステムを作っていますユーザー情報が正しいのpython

に答えました。 パスワードを入力して、正しいかどうかを確認します。

%Run HelloPython.py 
    File "/home/pi/Python Coding/HelloPython.py", line 17 
    print('Welcome home,', name,) 
     ^
SyntaxError: expected an indented block 

何かが間違っています。 コード:

print('What is your name?') 

# Stores everything typed up until ENTER 
name = sys.stdin.readline() 

print('Hello', name,'Enter password.') 
password = sys.stdin.readline() 
if password == ("1"): 
print('Welcome home,', name,) 
    else: 
     print("Password:", password,"Is incorect. Please try again.") 
+0

文字列と数字を比較しています。 –

+0

どうすればよいですか? – Firework

+0

@aaronこの質問を閉じるにはどうすればよいですか? – Firework

答えて

2

SyntaxError: expected an indented block

インデントあなたif - 以下のようなelse文。

  1. 「等しい」にチェックするには、=の代わりに==を使用してください。
  2. readlineは文字列を返します。したがって、'1'文字列と比較する必要があります。
  3. readlineには末尾に改行\nが含まれていますので、strip()を呼び出してください。
import sys 

print('What is your name?') 

# Stores everything typed up until ENTER 
name = sys.stdin.readline()  
print('Hello', name, 'Enter password.') 

password = sys.stdin.readline().strip() 
if password == '1': 
    print("Welcome home,", name) 
else: 
    print("Password:", password, "Is incorrect. Please try again.") 
1

これはあなたの唯一のエラーではありませんが、それはおそらく最も簡単に見過ごされている:

if password = 1: 

はここで何が起こっている:1は、変数password=以降に格納されてきています格納演算子です)。その後、if passwordが評価されています。変数はPythonでは正真正銘ですから、上記のpasswordに格納されていたものにかかわらず、Trueと評価されます。それは文字列として比較されるようにpasswordが文字列であることからも、この問題を解決passwordを比較するための==を使用し、し

は、引用符で1を置きます。

if password == "1": 

インデントも修正する必要があります。また、pythonは空白に依存しています。

2

あなたのコードを書き直しました。あなたはif文をインデントするのを忘れています。 http://www.secnetix.de/olli/Python/block_indentation.hawk

import sys # Import the 'sys' module 

print('What is your name?') 

name = sys.stdin.readline() 

print('Hello ', name, '. Enter password.') 
password = sys.stdin.readline() 

# Use '==' 
if password == 1: 
    print("Welcome home, ", name) 
    # Here you need indentation. 
else: 
    print("Password: ", password," is incorect. Please try again.") 
関連する問題