python - Python入口输入验证
问题描述
我想在 Python 3.8 中创建一个简单的游戏,我需要验证一个条目的输入才能创建它。像这样的东西:
if input.text == "":
print("Error")
但我不知道如何在 Python 中做到这一点。我以前在 C# 中经常这样做,但在这里显然不是那么容易。
解决方案
考虑到您正在谈论一个 Entry 并且在您的问题中也有 Tag tkinter,我假设您想从 tkinter Entry 小部件中获取一些用户输入。
要从 Entry 小部件中获取值,您可以使用该get()
方法。这将返回一个字符串。您可以使用简单的按钮命令或 abind()
来调用一个函数,然后检查输入字段的值。
您也可以输入strip()
一个空格,以防用户使用一两个空格而不添加任何其他内容。这样一串空格仍然会作为错误返回。
这是一个简单的例子:
import tkinter as tk
def check_entry():
value = entry.get().strip()
if value == '':
print('Error')
else:
print('Value is not an empty string. Now do something.')
root = tk.Tk()
entry = tk.Entry(root)
entry.pack()
tk.Button(root, text='Check Entry', command=check_entry).pack()
root.mainloop()
推荐阅读
- python - 使用 DFS 检查二叉树中是否存在路径不起作用
- python - 如何在 Python 中按每个月对每个用户 ID 的推文数量进行分组?
- c# - C# 中的字符串比较与 LINQ 表达式
- java - 如何使用 Java Sdk 处理 MS 图中 Event 对象的 @removed 注释
- python - `从. 将模块导入为 mod` vs `import module as mod`?
- python - 如何将笔式纹理应用于笔画
- graph - 训练 GNN 模型时出现数据类型错误
- python - 气流 Fernet 密钥轮换 InvalidToken 错误
- r - 如何使用 ggplot 并排绘制两个或更多特定列
- activemq-artemis - Apache ActiveMQ Artemis Web 控制台