如何实现前三段内容慢速打印、拒绝字母输入仅接受数字?
解决方案
1. 实现慢速打印提示文本
借助Python的time模块,编写自定义函数实现逐字符慢速输出,模拟打字机的打印节奏。
2. 实现数字输入验证
通过try-except捕获输入非数字时抛出的ValueError,配合循环强制用户重新输入,直到输入有效的整数。
修改后的完整代码
import random import time def slow_print(text, delay=0.05): for char in text: print(char, end='', flush=True) time.sleep(delay) print() # 慢速打印开头提示 slow_print("Welcome to Guess the Number!") slow_print("I'm thinking of a number between 1 and 100.") slow_print("Can you guess what it is?") number = random.randint(1, 100) guesses = 0 while True: # 输入验证循环 while True: guess_input = input("Enter your guess: ") try: guess = int(guess_input) break except ValueError: print("请输入有效的数字!") guesses += 1 if guess == number: print(f"Congratulations ;)! You guessed the number in {guesses} guesses!") break elif guess < number: print("too low. try again.") else: print("TOO HIGH!. TRY AGAIN.") if guess > 100: print("Great, the best way to guess a number between 1 and 100 is make a guess out of range!")
关键逻辑说明
- 慢速打印:
slow_print函数遍历文本的每个字符,逐个打印并添加短暂延迟,flush=True确保字符立即输出,避免缓冲区累积导致的一次性显示。 - 输入验证:嵌套循环中先获取用户输入,尝试转换为整数;若转换失败(输入字母或非数字字符),则提示错误并重新要求输入,直到得到有效的整数。
内容的提问来源于stack exchange,提问作者Raman Raman
相关产品推荐
相关产品推荐

