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

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

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

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

Q&A

解決済

2回答

549閲覧

return 文でsyntax error となるのは何故?

walfy

総合スコア2

Python 3.x

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

0グッド

0クリップ

投稿2023/03/20 01:12

実現したいこと

  • おみくじ機能を正常に稼働させるには

前提

ここに質問の内容を詳しく書いてください。

python初学者です。import, randomを用いて次のような処理を施していますが、エラーが出ます。
import random
def fortune():
kuji= ['大吉','中吉','小吉','凶]
return random.choice(kuji)
kekka = fortune()
print ('結果は',kekka,'です')

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

エラーメッセージ

invalid

1(returnとrandomの間に赤い空欄が浮かびます) 2 3### 該当のソースコード 4 5```python 6 7 8見本の教科書通りに誤字なく書いていますがエラーが出てしまいます。オフライン環境で作業していることと関係がありますでしょうか? 9_イタリックテキスト_よろしくお願いいたします。

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

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

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

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

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

maisumakun

2023/03/20 01:14

Pythonではインデントが意味を持ちます。コードブロック内に、正確なインデントで書いてください。
int32_t

2023/03/20 01:25

エラーメッセージを省略なく質問文に入れてください。
jbpb0

2023/03/20 02:40

pythonのコードの一番最初の行のすぐ上に ```python だけの行を追加してください また、pythonのコードの一番最後の行のすぐ下に ``` だけの行を追加してください または、 https://teratail.storage.googleapis.com/uploads/contributed_images/56957fe805d9d7befa7dba6a98676d2b.gif を見て、そのようにしてみてください 現状、コードがとても読み辛いです 質問にコードを載せる際に上記をやってくれたら、他人がコードを読みやすくなり、コードの実行による現象確認もやりやすくなるので、回答されやすくなります
jbpb0

2023/03/20 02:41

> エラーが出ます。 エラーメッセージ中に「Traceback」と書かれてたら、そこから下をできるだけ省略せずに質問に記載してください (ここに書くのではなく、質問を編集して追記する) ユーザー名等の個人情報は伏せ字でいいですが、それ以外はできるだけそのまま記載してください
jbpb0

2023/03/20 03:02

> 見本の教科書通りに誤字なく書いています 「見本の教科書」が一般に発売されてる書籍なら、書籍名と、質問のコードが載ってるページ数を、質問に記載してください (ここに書くのではなく、質問を編集して追記する) あるいは、どこかのwebページのことなら、それのurlを質問に記載してください 質問のコードは、関数名以外は https://books.google.co.jp/books?id=V9t-EAAAQBAJ&pg=PA105&lpg=PA105 の105ページの「def4.py」のコードと類似してるので、それと比較すると、 > kuji= ['大吉','中吉','小吉','凶] の「'凶]」が、「見本の教科書」では実際は「'凶']」なのに、質問者さんが間違ってコードを書いたのではないですかね あるいは、「見本の教科書」のコードが、本当に質問のコードのように間違ってるのかも
guest

回答2

0

ベストアンサー

あなたのコードで問題があるのは、リストkujiの文字列のクォーテーションが閉じられていないことです。
'凶] の部分でシングルクォーテーションを追加して、'凶'] としてください。以下に修正後のコードを書きます。

import random

def fortune():
kuji = ['大吉', '中吉', '小吉', '凶']
return random.choice(kuji)

kekka = fortune()
print('結果は', kekka, 'です')

この修正でエラーが解決し、コードが正常に実行されるはずです。
このコードは、fortune() 関数でkujiリストからランダムに1つの運勢を選び、kekkaに代入して表示します。

投稿2023/03/20 07:43

quiz

総合スコア269

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

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

walfy

2023/03/20 11:25

みなさま、ご回答ありがとうございました。 質問の形式がなっておらずすみません。凶のクォテーションなしは誤表記でした。 しかし、同じコードを打ち直したところ正常に走ったので、インデントに問題があったのだろうと思われます。 質問の仕方、考え方など大変参考になりました。ありがとうございました。
int32_t

2023/03/21 06:56

GPT による回答でしたら、その旨を明記してください。 https://teratail.com/help#about-ai-terms > AIが生成した回答・コメントを投稿する場合は、1行目に「[アルゴリズム/サービス名]により生成された文章です」と明記する必要があります。明記されていない場合は運営チームで削除させていただく場合がございます。
quiz

2023/03/21 07:21

承知いたしました。
guest

0

python

1kuji= ['大吉','中吉','小吉','凶]

'凶 を閉じる ' が足りないように見えます。

投稿2023/03/20 01:26

int32_t

総合スコア20878

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問