Python - 5 digit random number generator with no repeating digits

前端 未结 4 1049
臣服心动
臣服心动 2021-01-06 15:25

I am supposed to print a random 5-digit number with no repeating digits, then ask the user for a three digit number. If the user\'s number contains three digits from the ran

4条回答
  •  生来不讨喜
    2021-01-06 15:48

    If you generate your numbers like this:

    larger_number = ''.join(random.sample(string.digits, 5))
    

    And got the numbers from the user like this:

    def get_user_num(length=5):
        while True:
            num = raw_input('Enter a {}-digit number with no repeating digits: '.format(length)).zfill(length)
            if len(set(num)) < length:
                print('Please try again.')
                continue
            else:
                return num
    

    You could determine if the user's numbers were in the number list like so:

    set(user_number) < set(larger_number)
    

    And then it would be a really simple matter to combine this all together into a program. Note that the numbers are never actually treated as numbers - they're just strings.

提交回复
热议问题