用python写函数版本猜数字小游戏要求: 1,使用函数完成封装。 2,程序中涉及到输入及输出都在turtle画布中实现。 3, 要求加上异常处理,增加程序健壮性。
时间: 2024-03-02 07:54:17 浏览: 56
好的,以下是用Python写的猜数字小游戏的函数版本,已经封装,并且使用了turtle画布进行输入和输出。同时,加入了异常处理,以增加程序的健壮性。
```python
import turtle
import random
# 初始化游戏
def init_game():
turtle.screensize(500, 500)
turtle.title("猜数字小游戏")
turtle.penup()
turtle.hideturtle()
turtle.goto(-200, 200)
turtle.write("请猜一个0-100的数字:", font=("Arial", 16, "normal"))
answer = random.randint(0, 100)
return answer
# 输入猜测的数字
def input_guess():
try:
guess = turtle.numinput("猜数字", "请输入你的猜测:", minval=0, maxval=100)
except turtle.TurtleGraphicsError:
turtle.goto(-200, 170)
turtle.write("请在弹出的窗口中输入数字!", font=("Arial", 16, "normal"))
return input_guess() # 递归调用自身,直到用户输入正确的数字
return guess
# 检查猜测的数字是否正确
def check_guess(guess, answer):
if guess < answer:
return -1
elif guess > answer:
return 1
else:
return 0
# 输出猜测结果
def output_result(result):
turtle.goto(-200, 140)
if result == -1:
turtle.write("猜小了,请再猜一次:", font=("Arial", 16, "normal"))
elif result == 1:
turtle.write("猜大了,请再猜一次:", font=("Arial", 16, "normal"))
else:
turtle.write("恭喜你,猜对了!", font=("Arial", 16, "normal"))
# 主函数
def main():
answer = init_game()
while True:
guess = input_guess()
result = check_guess(guess, answer)
output_result(result)
if result == 0:
break
# 运行游戏
if __name__ == '__main__':
main()
```
在这个游戏中,用户需要在turtle画布中输入猜测的数字,然后程序会告诉用户猜测的结果(猜对了、猜小了还是猜大了)。用户可以根据程序的提示再次输入猜测的数字,直到猜对为止。
这个游戏的实现中,使用了try-except语句捕获了用户可能输入的非数字的情况,并给出相应的提示。同时,使用了递归调用来保证用户输入正确的数字。这样可以增加程序的健壮性,让程序更加稳定。
阅读全文