案例需求:
定义一个数字(1~10,随机产生),通过三次判断来猜出数字
案例要求:
1.数字随机产生,范围1~10
2.有3次机会
3.每次猜不中,会提示大了或小了
提示:可以定义一个变量num,变量内存储随机数字
import random
num = random.randint(1,10)
1.目的:自我学习做记录。内容来自黑马程序员的Python教程
效果展示:
2.写代码
2.1 构建变量
# 1.构建变量
import random
# 随机数字
num = random.randint(1,10)
# 猜测的数字
guess_num = int(input("请输入你猜测的数字:"))
2.2 判断语句
首先进行第一次判断,如果答对则结束,输出恭喜答对;如果答错则进行判断数字是大了还是小了。判断完成后需要再次获取“猜测的数字”。
if guess_num == num:
print("恭喜你第一次就猜对了")
else:
if guess_num > num:
print("大了")
else:
print("小了")
再次获取“猜测的数字”后,进行第二次判断
guess_num = int(input("请输入你猜测的数字:"))
if guess_num == num:
print("恭喜你第二次就猜对了")
else:
if guess_num > num:
print("大了")
else:
print("小了")
最后进入第三次判断,不再提示大小,如果答错直接输出答错了
guess_num = int(input("请输入你猜测的数字:"))
if guess_num == num:
print("恭喜你第三次就猜对了")
else:
print(f"三次机会用完,猜错了,正确数字是{num}")
3.整体代码
# 1.构建变量
import random
# 随机数字
num = random.randint(1,10)
# 猜测的数字
guess_num = int(input("请输入你猜测的数字:"))
if guess_num == num:
print("恭喜你第一次就猜对了")
else:
if guess_num > num:
print("大了")
else:
print("小了")
guess_num = int(input("请输入你猜测的数字:"))
if guess_num == num:
print("恭喜你第二次就猜对了")
else:
if guess_num > num:
print("大了")
else:
print("小了")
guess_num = int(input("请输入你猜测的数字:"))
if guess_num == num:
print("恭喜你第三次就猜对了")
else:
print(f"三次机会用完,猜错了,正确数字是{num}")
4.优化
当然代码嵌套层次较多,重复代码较多,可以通过循环语句优化(不过我觉得我写的这个不咋好,还有可以完善的地方,暂时还不知道。。。之后如果知道了更好的我再补充。)
import random
num = random.randint(1,10)
i = 1
while i <= 3:
guess_num = int(input("请输入你猜测的数字:"))
if guess_num == num:
print("恭喜你,猜对了")
# 终止循环
i = 4
else:
if guess_num > num:
print("大了")
else:
print("小了")
i += 1
if i == 4:
print("3次都错了")
print(f"正确数字是:{num}")