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

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

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

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

Q&A

解決済

2回答

1978閲覧

python ¥ を使用したらエラーが出ました。

yusuke_yamamoto

総合スコア16

Python

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

0グッド

0クリップ

投稿2018/06/24 01:25

「はじめてのPythonAIプログラミング」という書籍で取り組んでいる際に以下のエラーメッセージが発生しました。

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

invalid character in identifier

エラーメッセージ

該当のソースコード

import time
while True:
time.sleep(1)
present = input("動詞を入力してね")
if (present == "OK"):
print("またね")
break

#例外的に扱う動詞にはingを付ける prog = "" if present == "visit" or ¥ present == "limit" or ¥ present == "play" or ¥ present == "enjoy" or ¥ present == "listen" or ¥ present == "see" or ¥ present == "dye" or ¥ present == "enter": prog = present + "ing" #~ie で終わる動詞はyingにする elif present[-2:] == "ie": prog = present.replace(present[-2:], "ying") #~e で終わる語はeを取ってingを付ける elif present[-1] == "e": prog = present.replace(present[-1], "ing") #~cで終わる動詞はkingを付ける elif present[-1] == "c": prog = present + "king" #長母音+子温で終わる動詞は末尾にingを付ける elif (present[-3] == "a" or ¥ present[-3] == "i" or ¥ present[-3] == "u" or ¥ present[-3] == "e" or ¥ present[-3] == "o") and¥ (present[-2] == "a" or ¥ present[-2] == "i" or ¥ present[-2] == "u" or ¥ present[-2] == "e" or ¥ present[-2] == "o"): prog = present + "ing" #短母音+子音で終わる動詞は子音字を重ねてingを付ける elif present[-2] == "a" or ¥ present[-2] == "i" or ¥ present[-2] == "u" or ¥ present[-2] == "e" or ¥ present[-2] == "o": prog == present + present[-1] + "ing" #その他の動詞にはingを付ける else: prog = present + "ing" print("現在分詞はこれ->" + prog)
ソースコード

試したこと

初心者のためどうしていいかわからない状態です。
よろしくお願い致します。

コード

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

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

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

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

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

yusuke_yamamoto

2018/06/24 05:42

ご指摘ありがとうございます。言い訳になりますが初めてということもあり、使い方がわからない状態でした。今後は気をつけていきたいと思います。
guest

回答2

0

ベストアンサー

修正した回答

複数行にまたがるコードを記述する場合は、行末はバックスラッシュである必要がありますが
提示コード中の「¥」は「バックスラッシュ」ではなく「円記号」であるため提示エラーが発生していると思われます。
参考:円マークとバックスラッシュ

Python

1# バックスラッシュ U+005C -> OK 2print(\ 3"abc") 4 5# 円記号 U+00A5 -> SyntaxError: invalid character in identifier 6print(¥ 7"abc")

補足として:修正前の回答

はじめてのPython AIプログラミングからサンプルファイルのダウンロードができるので、その中のchap04/str1.pyを実行してみました。

File "...\chap04\str1.py", line 13 elif present == 'visit' or\ ^ SyntaxError: invalid syntax

先頭に#coding:utf-8行を追加し、prog = ''の行位置を修正することで動作するようにはなりました。
動詞としてaなどを入力すると実行時例外が発生しますが、これは想定外なのでしょう。

Python

1#coding:utf-8 2import time 3 4while True: 5 time.sleep(1) 6 7 present = input('動詞を入力してネ>') 8 prog = '' # 追加 9 10 if (present == 'OK'): 11 print('またね~') 12 break 13 14 #prog = '' # コメントアウト 15 elif present == 'visit' or\ 16 present == 'limit' or\ 17 # 略

サンプルファイルや正誤表、ネット上の評判を見る限り、他にも誤りが含まれていそうなので、別の書籍で学習するほうがよいかと思います。

投稿2018/06/24 01:57

編集2018/06/24 02:13
can110

総合スコア38262

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

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

wakame

2018/06/24 02:30

気になってサンプル読んでみましたが書籍に載せるソースコードではないですね。strを変数名に使ってるところとかがいただけないです。
can110

2018/06/24 02:58

(一部の環境によってとかならまだしも)動かないコードを載せている時点でダメですね… 特に初心者向けならなおさら。 あとタイトルのAIって何のこと?とか突っ込みだしたらきりないです。
yusuke_yamamoto

2018/06/24 05:45

回答ありがとうございます。質問に対してだけではなく、書籍についてもご指摘して頂き参考になりました。 ありがとうございました。
LouiS0616

2018/06/24 07:47

elif present[-1] == 'e':   prog = present.replace(present[-1], 'ing') これ『become』が『bingcoming』に置換されますね。。。
guest

0

すべての \ の文字が違ってます

Macにおけるバックスラッシュ(\)の入力方法

すべての¥文字を入れ直しましょう

投稿2018/06/24 01:48

y_waiwai

総合スコア87749

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

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

yusuke_yamamoto

2018/06/24 05:45

シンプルでわかりやすい回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問