質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

3回答

2186閲覧

pythonでのエラー解決

rasu

総合スコア7

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2019/07/29 18:00

前提・実現したいこと

ラズベリーパイでpythonを使って人感センサーの制御をしたいです。

ここに質問の内容を詳しく書いてください。
今回のプログラムでelse:と打つところがあるのですが、
どうしてもそこで、IndentationError: unexpected indentと言われてしまいます。
規則通り、半角スペース4回を打っているのですが、だめでした。
解決方法を教えてください。

発生している問題・エラーメッセージ

エラーメッセージ ```>>> else: File "<stdin>", line 1 else: ^ IndentationError: unexpected indent ### 該当のソースコード ```python from datetime import datetime import time import RPi.GPIO as GPIO # インターバル INTERVAL = 3 # スリープタイム SLEEPTIME = 20 # 使用するGPIO GPIO_PIN = 18 GPIO.setmode(GPIO.BCM) GPIO.setup(GPIO_PIN, GPIO.IN) if __name__ == '__main__': try: print ("処理キャンセル:CTRL+C") cnt = 1 while True: # センサー感知 if(GPIO.input(GPIO_PIN) == GPIO.HIGH): print(datetime.now().strftime('%Y/%m/%d %H:%M:%S') + ":" + str("{0:05d}".format(cnt)) + "回目の人感知") cnt = cnt + 1 time.sleep(SLEEPTIME) else: print(GPIO.input(GPIO_PIN)) time.sleep(INTERVAL) except KeyboardInterrupt: print("終了処理中...") finally: GPIO.cleanup() print("GPIO clean完了") ソースコード

試したこと

スペースの数を変える。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。
このサイトにあったものを使おうとしました。
https://chasuke.com/motionsensor/

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

エラーとして表示されているものが再現するのは、Python REPL で入力した場合です。
(コンソールで python として起動し、 >>> が左に表示される状態です)

>>> else: File "<stdin>", line 1 else: ^ IndentationError: unexpected indent

そもそも起動方法を間違えていると思うので、使い方をよく確認してください。

投稿2019/07/30 01:26

mather

総合スコア6753

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rasu

2019/08/02 14:22

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

0

お疲れ様です。

まず、
添付されているコードは、前の方が書かれているように、おかしくないです。

ただ、入力作業は、間違えていると思います。

(1)
IndentationError: unexpected indent
なので、右によりすぎです。インデントが入りすぎ。

(2)
示されている

>>> else:

は、ずいぶん、スペースが入っています。多分、多すぎ。

(3)
ちなみに、elseは、ifと同じ場所です。

前の方が書かれている★pylint使われるの、いいと思います。
環境的に、別の方が、実行しにくいコードは、回答が得られにくく、
自力で解決しないといけないので。。。

投稿2019/07/30 00:48

編集2019/07/30 00:52
0kcal

総合スコア275

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rasu

2019/08/02 14:23

参考になりました。
guest

0

ぱっと見は、おかしいところはなさそうですが、TAB文字がまぎれてたりするかも?
pylintを使ってみてはいかがでしょう。
https://qiita.com/kiyotaman/items/7749e4998e0bdcc61199

投稿2019/07/30 00:04

nagaetty

総合スコア1106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問