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

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

ただいまの
回答率

87.37%

電卓アプリ作成時に四則演算記号が表示されない

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 100

score 0

前提・実現したいこと

プログラミング演習として単純な電卓アプリを作成しようとしているのですが、ボタンが表示されない不具合が発生してしまっています。問題が起きた箇所を抜粋したプログラムを作ったので、そちらについて何が問題であるかをご教授頂けると幸いです。(演習目的ですので、想定外の挙動が起きる理由を把握した上で問題を回避したいです。)

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

ウインドウにボタンが表示されません。(これはエラーメッセージではないです)

該当のソースコード

import tkinter as tk
from tkinter import ttk
#メインウインドウ
root=tk.Tk()
#四則演算ボタンを生成
plus=tk.Button(root,text="+")
minus=tk.Button(root,text="-")
times=tk.Button(root,text="×")
divide=tk.Button(root,text="÷")
#四則演算ボタンを貼り付け
plus.grid(column=0,row=0)
minus.grid(column=1,row=0)
times.grid(column=0,row=1)
divide.grid(column=1,row=1)
#メインループ
root.mainloop()

試したこと

以下、実験を行う度に元のソースコードに戻しています。
①:"÷"を"a"、"あ"、"あ3a"、"3あ%"などに変更する
結果:想定通り、左上に+、右上に-、左下に×、右下に変更した文字が表示される
②:'minus=tk.Button(root,text="-")'及び'minus.grid(column=1,row=0)'を削除する
結果:ウインドウにボタンが表示されない
③:'divide=tk.Button(root,text="÷")'及び'divide.grid(column=1,row=1)'を削除する
結果:想定通り、左上に+、右上に-、左下に×が表示される
④:'times=tk.Button(root,text="×")'及び'times.grid(column=0,row=1)'を削除する
結果:想定通り、左上に+、右上に-、右下に÷が表示される
⑤:"÷"を"→"、"×"などに変更する
結果:どちらの場合も、ウインドウにボタンが表示されない
⑥:'divide.grid(column=1,row=1)'の中の'column=1,row=1'を'column=2,row=2'に変更する
結果:ウインドウにボタンが表示されない

これらの実験から、×、÷、→等の特殊記号を2つ以上使った場合に問題が発生していそうなのですが、pythonの仕様に照らし合わせて最初のソースコードの問題点を理解するには至っていません。「tkinter ボタン 特殊文字」「tkinter 特殊文字」等でgoogle検索してみましたが、有用な情報には至りませんでした。

補足情報(FW/ツールのバージョンなど)

python3.10.0 64-bitをWindows10で使用しております。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • jbpb0

    2021/11/29 09:23

    print("×")
    print("÷")

    だけのコードを、VS Codeで「ソースコード全体を部分実行」と「▷ボタンでファイル全体を実行」をそれぞれ行ったら、どうなるのでしょうか?

    キャンセル

  • kurinoi

    2021/11/29 14:51

    その場合は、全て問題なく記号が表示されました。

    キャンセル

  • jbpb0

    2021/11/29 16:25

    そうなんですか
    その記号が常にダメってわけではないのですね
    謎だ

    キャンセル

まだ回答がついていません

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

  • ただいまの回答率 87.37%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る