python使用while循环

img


def get_pattern_number():接下来怎么写呢


def get_pattern_number():
    while True:
        x=input('Enter a number(0-8)')
        if x.isdigit() :
            if  int(x)<=8 and int(x)>=8:
                return int(x)
print(get_pattern_number())
                

判断输入的数是否满足条件,满足就return

def get_pattern_number():
    while True:
        num=int(input('Enter a number (0-8): '))
        if num>=0 and num<=8:
            return num

print(get_pattern_number())

def get_pattern_number():
    num = int(input('Enter a number(0-8):'))
    if num >=0 and num <= 8:
        print(num)
        return True
    else:
        return False

while True:
    if get_pattern_number():
        break



def get_pattern_number():
    while 1:
        n=input('Enter a number(0-8)')
        if n.isdigit() and 0<=int(n)<=8:
            return int(n)

注意这里,不要直接转int,否则如果输入的时候输入个a,就直接抛错误,程序就挂了
还有,判断n是数字一定要在前,不要放到int转换的后面,否则起不到任何作用,n如果不是数字还是直接挂了

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

【有帮助请采纳】

def get_pattern_number():
    while True:
        try:
            s = input('Enter a number (0-8):')
            if 0<=int(s)<=8 and s.isdigit():# 判断是否为数字且为0到8的整数
                print(s)
                break
        except:
            pass

【有帮助请采纳】