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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

224閲覧

ジャンケンのゲームを作成しているのですがelifで使い方が分からない部分があります python3.6.5です

Spell1628

総合スコア11

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/06/15 17:35

編集2018/06/15 18:17

前提・実現したいこと

現在、本を読みながらpythonでジャンケンのゲームを作成しているのですが、なぜプログラミングが動かないのか分からない部分があります

該当のソースコード

Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 03:03:55)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "copyright", "credits" or "license()" for more information.

WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable.

Visit http://www.python.org/download/mac/tcltk/ for current information.
import random

winner=''
random_choice=random.randint(0,2)
if random_choice==0:

computer_choice='rock'

elif random_choice==1:

SyntaxError: invalid syntax

###宜しく御願いします

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

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

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

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

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

otn

2018/06/15 18:07

コード全部を、ちゃんとインデント付けて書きましょう。あと、エラーメッセージ全部も。
Spell1628

2018/06/15 18:23

修正しました。これで大丈夫でしょうか?? すいません、初めたてで勝手が分かりませんでした。
KojiDoi

2018/06/15 19:08

全然大丈夫じゃないですね。これが「コード全部を、ちゃんとインデント付けて」だと本気で思ってます? 手を抜きすぎです。
hayataka2049

2018/06/15 19:25 編集

質問者さんはちゃんとやってるんだと思いますよ。ただ、markdownを知らないだけで。編集画面でコードの部分を丸ごと選択して<code>ボタンを押し、「ここに言語を入力」を「python」に書き換えてみてくださいな
Spell1628

2018/06/16 10:57

ありがとうございます。次回からやってみます。
guest

回答1

0

ベストアンサー

IDLEや対話シェルを使っていますか?

elififないしelifのブロックの後に書く必要があります。つまりif文に依存しているというか、実質的にif文の一部とすら言えなくはありません。。
IDLEや対話シェルでは、空行を入れようとすると文の入力が完了したとみなされます。その時点で処理も行われてしまいます。そのsyntax errorは「if文の後じゃないのにelifを書くな」ということです。

なので、たとえばIDLEならこうする必要があります。
イメージ説明


この手の「IDLEや対話シェルだとエラーになる」コード、たくさんあります。

python

1# たとえばこういうの(ファイルにすれば大丈夫なパターン) 2if cond: 3 pass 4 5else: 6 pass 7 8# ファイルにすれば大丈夫なパターン2 9if cond: 10 pass 11print("hoge")

対話環境は初心者向けっぽく見えますが、意外とクセがあって慣れるまでは使いづらいものです。初心者の方はファイルに書いていく方法で開発することをおすすめします。

投稿2018/06/15 19:14

hayataka2049

総合スコア30933

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

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

Spell1628

2018/06/16 10:57

ありがとうこざいました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問