Python输入验证

2024-06-26 18:05:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的代码来阻止人们输入任何东西或输入带有数字的名字。它的工作,但我想添加一条消息,每次有人输入数字,但不是当他们输入什么。 我该怎么做呢。你知道吗

from tkinter import *

import tkinter.simpledialog

player_one_name=""

def createGUI():
    global player_one_name

    diceWindow = Tk()


    while player_one_name=='' or player_one_name is None or not re.match("^[A-z]*$", player_one_name):
        player_one_name=tkinter.simpledialog.askstring("Player Name","Please enter your name: ")

createGUI()

Tags: or代码namefromimport消息tkinterdef
3条回答

更好的方法是遇到正负数,在代码中添加以下内容:正则表达式r'\d'只匹配从09的单个数字,但r'-?\d+'应该匹配正负。你知道吗

if re.match(r'-?\d+', player_one_name):
   print("your message")

或者更直接地使用isdigit()。这样可读性更好

if any(i.isdigit() for i in player_one_name):
  print("your message")

def num\有: 返回any(i.isdigit()表示s中的i)

这种函数可以用来查看字符串中是否有num。然后可以使用某种if语句,例如:

if (num_there(playername)):
       print("no nums allowed")

while循环中添加:

if re.match('\d+', player_one_name):
    # your message

相关问题 更多 >