tkinterを使用して入力されたテキストがintであるかどうかを確認するにはどうすればよいですか?(pythonとtkinter)

Jingchun He

トランザクションの記録をExcelファイルに保存しようとしています。ユーザーは、tkinterを使用して作成したテキストボックスを介してテキストを入力できます。

これが私のコードの簡略版です。

quantity = '0'
newWindow = Tk()
buyLabel = Label(newWindow, text = 'How many apples do you want to buy?')
global textentry2
textentry2 = Entry(newWindow, width=10)
global quantity
if quantity=="":
   quantity=0
quantity = textentry2.get()
quantity = int(float(quantity))

ユーザーが入力した値が許容できるかどうかをプログラムでチェックしたいと思います。購入するリンゴの数については、0より大きいintを返す必要があります。したがって、「textentry2」に入力されたテキストがintで0より大きい場合はTRUEを返し、intでないか0より小さい場合はFALSEを返します。ただし、入力したテキストがintであるかどうかを確認する方法がわからないため、最初にintに変換してから、0より大きいかどうかを確認しました。コードは次のとおりです。

if (quantity > 0):
     print('your value is stored')
else:
     print('please enter an acceptable quantity')

基数10のint()の無効なリテラルを示すエラーが発生しました: ''そしてstackoverflowの別の投稿から、変数をfloatに変換し、次にintに変換すると言われました。これが、私のコードが次のようになっている理由です。

quantity = int(float(quantity))

ただし、それでもエラーが発生します 'ValueError:文字列をfloatに変換できませんでした:'混乱しています。誰か助けてもらえますか?入力されたテキストがintであるかどうかを確認する方法を知っていると便利です。

kuso.sama

私が知っているように、あなたはそれをint(quantity)。でintに変換することができますその前に、文字列がquantity.isnumeric()で数値であるかどうかを確認する必要があります

したがって、コードを使用すると、次のようになります。

quantity = '0'
newWindow = Tk()
buyLabel = Label(newWindow, text = 'How many apples do you want to buy?')
global textentry2
textentry2 = Entry(newWindow, width=10)
global quantity

quantity = textentry2.get()
if quantity.isnumeric():                               # Check if the quantity is a number, as TheLizzard said, negative numbers in a string will be marked as not numeric so no need to check if it is greater than 0
   quantity = int(quantity)                            # Then set the quantity to the converted int
else                                                   # If it's not
   # whatever you want to do if it is not

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ