用Python做一个猜数游戏(入门)

用Python做一个猜数游戏(入门)


前言:
各位大佬大家好,我是夕阳样桑,由于最近时间有点紧,所以先做一个小程序。感谢大家的支持,由于能力有限,欢迎大家纠错。
我的代码分了两个阶段,第二个阶段是第一个阶段的完善版,每个阶段都有完整的代码,我试了,都没有报错,大家可以复制测试一下。

首先打开Python编辑器(见python.org下载)。

第一阶段:

开始写代码。首先,需要一个随机库(要猜到的数应该连程序员自己都不知道)。

import random
#或者是from random import randint

好了,有了库,现在命名要猜到的数,当然,最好是整数,不然的话谁还会玩你的游戏?要猜到的数叫goal吧,范围小一点,0到10之间。

goal = random.randint(0,10)

OK,再设置一个玩家输入变量num吧。

num = int(input("请输入一个0到10的整数"))

对了,玩家输入的数必须是整数,不是整数或浮点数会报错,现在把上面的代码改一下。

num = input("输入一个0到10的整数:")
try:
	num = int(num)
except:
	print("警告,请输入一个整数:")

好了,现在到了最关键的时候了,现在要判断玩家输入的数和随机到的数一不一样。如何判断呢?当玩家输入的数(num)和随机到的数(goal)一样时,输出 “猜对啦 ”,代码如下:

if num == goal :
	print("猜对啦!!!")

当num大于goal时,输出“猜大了”。

if num > goal:
	print("猜大了。")

当num小于goal时,输出“猜小了”。

if num < goal:
	print("猜小了。")

OK,第一阶段的代码就到这里,完整代码:

import random
#或者是from random import randint

goal = random.randint(0,10)
num = input("输入一个0到10的整数:")

#注意↓ ↓ ↓ ↓ ↓
try:
	num = int(num)
except:
	print("警告,请输入一个整数:")
#在这里的异常处理在下面判断会有问题,我会在第二阶段讲解。	

if num == goal :
	print("猜对啦!!!")
if num > goal:
	print("猜大了。")	
if num < goal:
	print("猜小了。")

第二阶段:

现在有一个问题先解决再说,当num输入的不是数字(整数或小数)时,编辑器在异常处理的同时会报错,如图:

输入一个010的整数:q
警告,请输入一个整数:
Traceback (most recent call last):
  File "C:/Users/Administrator/Python/Python38-32/猜数游戏.py", line 14, in <module>
    if num > goal:
TypeError: '>' not supported between instances of 'str' and 'int'

原来代码直接执行到了判断而玩家还没有重新输入,所以应当把判断改到异常处理当中。

try:
	num = int(num)
	if num == goal :
		print("猜对啦!!!")
	if num > goal:
		print("猜大了。")	
	if num < goal:
		print("猜小了。")
except:
	print("警告,请输入一个整数:")

现在没有报错了,但是玩家还是无法重新输入,先把print改为input,然后判断。

try:
	· · · · · · 
except:
	num = input("警告,请输入一个整数:")
	#接下来的步骤同上
	num = int(num)
	if num == goal :
		print("猜对啦!!!")
	if num > goal:
		print("猜大了。")	
	if num < goal:
		print("猜小了。")

但是玩家只能猜一次,我们改为5次,但首先代码太难写了,所以先把判断的代码装进choose函数。

注意:函数内的变量要是全局变量,所以要在num和goal前先申明全局变量。

import random

global num,goal
goal = random.randint(0,10)
num = input("输入一个0到10的整数:")

try:
	num = int(num)
	if num == goal :
		print("猜对啦!!!")
	if num > goal:
		print("猜大了。")	
	if num < goal:
		print("猜小了。")
except:
	num = input("警告,请输入一个整数:")
	num = int(num)
	if num == goal :
		print("猜对啦!!!")
	if num > goal:
		print("猜大了。")	
	if num < goal:
		print("猜小了。")

声明了全局变量,现在声明函数。

import random

global num,goal
goal = random.randint(0,10)
num = input("输入一个0到10的整数:")

#这是编写的函数
def choose():
	num = int(num)
	if num == goal :
		print("猜对啦!!!")
	if num > goal:
		print("猜大了。")	
	if num < goal:
		print("猜小了。")
#

try:
	choose()
except:
	num = input("警告,请输入一个整数:")
	choose()
  • 13
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值