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

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

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

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

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

Q&A

解決済

2回答

1555閲覧

回文判定機を作りたいけど表示が変

tom_honmono

総合スコア22

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

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

0グッド

0クリップ

投稿2020/04/25 15:27

回文の判定するシステムを作っていてほぼできたと思うのですが、これに文字を入力しても変に出力されてしまいます。解決方法を教えていただけると嬉しいです。
また、結果の出力を入力部分の下に表示したりする仕組みも付け加えたいのですがどうすればいいでしょうか。よろしくお願いします。

python

1import tkinter 2 3def nakami(xxx): 4 xyx=int(txt_1.get()) 5word=[nakami] 6w=word 7m=word[::-1] 8def btn_click(): 9 if w==m: 10 print(w,"は回文です") 11 else: 12 print(w,"は回文ではありません") 13 14 15tki = tkinter.Tk() 16tki.geometry('300x200') 17tki.title('回文かな??') 18 19 20btn = tkinter.Button(tki, text='判定', command=btn_click) 21btn.place(x=140, y=170) 22 23 24lbl_1 = tkinter.Label(text='') 25lbl_1.place(x=30, y=70) 26 27 28 29txt_1 = tkinter.Entry(width=20) 30txt_1.place(x=90, y=70) 31

出力される文章

[<function nakami at 0x03599A90>] は回文です

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

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

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

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

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

otn

2020/04/25 16:34

> word=[nakami] は何のつもりですか?
tom_honmono

2020/04/26 15:32

よくわからずコードを書いていました、ありがとうございました。
guest

回答2

0

ベストアンサー

wordの中身

python

1word=[nakami]

関数自体をリストに代入してます。
Pythonでは関数の呼び出しには、括弧が必要です。

問題の直接の原因は、関数が呼ばれてない事ですが
他にも問題はあり、

関数 nakami の内容

python

1def nakami(): 2 xyx=int(txt_1.get())

ローカル変数 xyx に数値を代入して、
戻り値を返していません。return を使って関数から値を返しましょう。

また、数値型に変換してますが、
回文判定するなら文字列のままの方が都合が良いです。

入力内容を得るタイミング

プログラム開始時に 入力内容を所得してる為、常に空になります。

btn_click関数の中で 入力内容を所得して見て下さい。

投稿2020/04/26 02:27

teamikl

総合スコア8664

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

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

tom_honmono

2020/04/26 15:33

ありがとうございます、解決しました。 これからいろいろな機能を自分で考えてつけてみたいと思います
guest

0

word=[nakami]でwordにdef nakami(xxx)を入れたリストを代入しています。
その後w=wordでwにwordを代入しています。
そのためprint(w,"は回文です")[<function nakami at 0x03599A90>] は回文ですが出力されます。

wordにはnakami()の返り値を代入すれば良いのではないでしょうか?

投稿2020/04/25 16:38

meg_

総合スコア10579

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

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

tom_honmono

2020/04/26 15:34

ありがとうございます!解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問