1.実現したいこと
井田昌之先生(著)の「PythonとGoogleColaboratoryではじめる自然言語処理」内の
課題に対する解法について知りたい。
2.書籍内の取り組み課題
書籍内のトピックで複雑な分岐処理が必要な時にeval()関数、exec()関数を用いる事例紹介がありました。
そのプログラム課題として以下のような性格診断テストの事例があり、
「必ずしもeval()などを使う必要はないが、単にif文で処理しようとすると、スマートには行かなくなる。あなたならどうするか?実際に作ってみて考察してみよう。」
といった条件が付与されています。
以下のようなコードでとりあえず動いているのですが、どういう記述方法がスマートであるかが不明であり、
eval()やexec()を使った記述方法をご教示いただければ幸いです。
なお、本書籍は基本的に解答コードがないです。
3.自身の作成したコード
python
1question1 = "実際の年齢よりも、年上にみられることが多い[yes/no]" 2question2 = "声がでかい[yes/no]" 3question3 = "手先が器用で、結構まめだ。簡単な料理は作れる。[yes/no]" 4result1 = "好きなことには、ご飯を忘れても熱中する方" 5result2 = "君はクラス一のひょうきん君" 6result3 = "人前で注目を浴びるのが好き" 7 8def que1(): 9 print(question1) 10 res = input() 11 if res=="yes": 12 que2() 13 if res=="no": 14 que3() 15 16def que2(): 17 print(question2) 18 res = input() 19 if res=="yes": 20 rslt3() 21 if res=="no": 22 que3() 23 24def que3(): 25 print(question3) 26 res = input() 27 if res=="yes": 28 rslt1() 29 if res=="no": 30 rslt2() 31 32def rslt1(): 33 return print(result1) 34 35def rslt2(): 36 return print(result2) 37 38def rslt3(): 39 return print(result3) 40 41que1()
回答4件
あなたの回答
tips
プレビュー