Python中实现猜数字游戏代码如下:

import random  # 引入随机数标准库-random

# 定义数字上下限和最大游戏次数
min_num = 1
max_num = 10
guess_count = 4 # 生成目标整数target_number, min_num <= target_number <= max_num
target_number = random.randint(min_num, max_num)
i = 1 while i <= guess_count:
input_num = input('请您输入 %d 到 %d 任一个数:' % (min_num, max_num))
if not input_num.isdigit():
print('请输入整数!!!')
continue
elif int(input_num) < 0 or int(input_num) > 9:
print('整数要在%d-%d之间!!!' % (min_num, max_num))
continue
input_num = int(input_num)
rest_count = guess_count - i
if input_num == target_number:
print('运气真好,您猜对了!')
break
elif input_num > target_number:
print('您猜大了!\n您还有 %s 次机会!' % rest_count)
elif input_num < target_number:
print('您猜小了!\n您还有 %s 次机会!' % rest_count)
i += 1

代码运行结果如下:

实现猜数字游戏主要使用了以下函数和语句

1、random库、ranint()函数

random库是生成随机数的标准库,需要通过import语句引用,引用语法是:

import random  # 调用函数语法random.randint
from random import randint # 调用函数语法randint

randint()函数是生成范围随机数的函数,函数语法是:

randint(min_num,max_num)

!!注意:生成的整数包含上下限,即min<=n<=max_num

2、while循环语句

Python中while语句用于循环执行程序,在判断条件为True时执行某段程序,直到判断条件为False时,循环结束

while循环的基本形式:

while condition(判断条件):

    statements(执行语句)……

菜鸟教程的while程序执行流程图和示例GIF做的非常好,可以去看看

while循环执行流程图如下:

3、if条件控制

Python中if语句也是在条件语句为True时执行某段程序,与while不同的是if只会判断一次,多个条件用elif/else判断

基本形式:

if condition1(判断条件1):
statement1(执行语句1)
elif condition2(判断条件2):
statement2(执行语句2)
else:
statement3(执行语句3)

程序执行流程为:如果满足条件1,则执行语句1,不满足则略过;然后进行条件2判断.....;都不满足的情况下将执行else后面的程序

不满足if/elif的条件都将执行else后面的程序,在输入条件不可靠的情况下,尽量不要使用else,而是使用elif

4、break和continue语句

break语句可以跳出for和while的循环体

注意:如果你从for或while循环中终止,for和while对应的循环else块将不执行

continue语句被用来跳过当前循环块中的剩余语句,然后继续进行下一轮循环

while语句中break和continue的执行流程:

for语句中break和continue的执行流程:

最新文章

  1. DDD 领域驱动设计-如何 DDD?
  2. 在Python应用中使用MongoDB
  3. 1、基于MFC的OpenGL程序
  4. 发送SMS短信(JSON) 转载
  5. 开发中model,entity和pojo的区别
  6. SAPI训练文件存储位置
  7. SQL Server 视图修改后有错怎么办?
  8. Lintcode: Route Between Two Nodes in Graph
  9. The reference to entity “idNo” must end with the &#39;;&#39; delimiter 异常处理
  10. UVa 10082 WERTYU
  11. Eclipse中修改SVN用户名和密码方法[转]
  12. 为什么memset不能将数组元素初始化为1?
  13. linux无法解析主机地址(could not resolve host)解决办法
  14. Linux服务器下Java环境搭建
  15. Azure IoT 技术研究系列5-Azure IoT Hub与Event Hub比较
  16. mha 复制检查报错“There is no alive server. We can&#39;t do failover”
  17. maven 安装本地jar
  18. Apache Commons Beanutils 二 (动态Bean - DynaBeans)
  19. SQL 的约束
  20. 【357】sorted 函数高级用法

热门文章

  1. Java 创建PDF文件包的2种方法
  2. 02 jumpserver系统设置
  3. 05 找出占用CPU、内存过高的进程
  4. 6.12、通过kvm可视化管理虚拟机
  5. Docker搭建mysql:5.7版本数据库
  6. AcWing 1140. 最短网络
  7. MySql:Navicat 连接不上虚拟机上的mysql容器
  8. 从 Java 代码到 Java 堆
  9. Vue使用PrintJs自定义打印表格模板
  10. ARM汇编指令-STM32单片机启动