写一个数字验证环境架构的python脚本
时间: 2024-05-12 19:19:45 浏览: 12
以下是一个简单的数字验证环境架构的Python脚本:
```python
import random
class NumberValidator:
def __init__(self, num_digits):
self.num_digits = num_digits
self.secret_number = ''.join([str(random.randint(0, 9)) for _ in range(num_digits)])
def is_valid(self, guess):
if len(guess) != self.num_digits:
return False
for i, digit in enumerate(guess):
if digit not in '0123456789':
return False
if digit == self.secret_number[i]:
return False
return True
if __name__ == '__main__':
validator = NumberValidator(4)
while True:
guess = input('Enter a {}-digit number: '.format(validator.num_digits))
if validator.is_valid(guess):
print('Congratulations! You guessed the secret number.')
break
else:
print('Sorry, that is not a valid guess. Please try again.')
```
该脚本创建了一个名为`NumberValidator`的类,用于验证数字是否有效。在初始化时,它生成一个随机的`num_digits`位数字作为“秘密数字”,并存储在实例变量`secret_number`中。
该类有一个名为`is_valid`的方法,用于检查输入是否符合以下要求:
- 长度为`num_digits`
- 仅包含数字0到9
- 没有与秘密数字匹配的数字
如果输入满足这些条件,则该方法返回`True`,否则返回`False`。
在主程序中,我们创建了一个`NumberValidator`实例,将其设置为需要猜测4位数字。然后,我们进入一个循环,提示用户输入一个4位数字,然后使用`is_valid`方法验证它是否有效。如果有效,则用户猜测了秘密数字并退出循环。否则,我们通知用户输入无效并继续循环。