繁体   English   中英

仅当高于 minimum_range 时,我如何才能通过让他输入数字来限制用户?

[英]how can i limit the user by letting him input a number only if higher than minimum_range?

import random


def input_range():
    minimum_range = 5
    users_range = input("set the maximum value for the range, minimum " + minimum_range + ":")
    if int(users_range) > int(minimum_range):
        print("The maximum range you selected is:", users_range)
    else:
        print("Out of range, try again")

    random_number = random.randint(int(minimum_range), int(users_range))
    print(random_number)


def name_user_request():
    users_name = input("what's yor name? ")
    print("Hi " + users_name + " nice to meet you")


input_range()
name_user_request()

如果我输入的数字低于 minimum_range(在本例中为 5),我发布的这段代码会给我一个错误,任何帮助都会很好。 谢谢!

您可以使用while循环一遍又一遍地请求有效输入(我将其他行更改为使用 f 字符串):

import random

def input_range():
    minimum_range = 5
    prompt = f"Set the maximum value for the range, minimum {minimum_range}: "

    while (users_range := int(input(prompt))) < minimum_range:
        print("Out of range, try again")
    print(f"The maximum range you selected is: {users_range}")

    random_number = random.randint(minimum_range, users_range)
    print(random_number)

def name_user_request():
    users_name = input("what's yor name? ")
    print(f"Hi {users_name}, nice to meet you!")

input_range()
name_user_request()

请注意,它使用“海象”运算符:= (在 python 3.8 中引入)。 没有海象运算符,您可以将while部分替换为

users_range = int(input(prompt))
while users_range < minimum_range:
    print("Out of range, try again")
    users_range = int(input(prompt))

尝试递归!!

import random

def input_range():
    minimum_range = 5
    users_range = input("set the maximum value for the range, minimum " + str(minimum_range) + ":")
    if int(users_range) > int(minimum_range):
        print("The maximum range you selected is:", users_range)
        random_number = random.randint(int(minimum_range), int(users_range))
        print(random_number)
        return        
    else:
        print("Out of range, try again")
        input_range()
    return    



def name_user_request():
    users_name = input("what's yor name? ")
    print("Hi " + users_name + " nice to meet you")

input_range()
name_user_request()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM