python编程从游戏开始系列之一:简单的猜数字游戏

简介:

     从第一个python的脚本到写着这篇博客,日子也不短了,没有像样的写个博客,人老懒散,恶习难改啊,不知老之将至矣,。古人是“发愤忘食,乐以忘忧,才会忘记老之将至”,呜呼,无病呻吟下。。。

      好了,言归正传,开始今天的正题,今天这里讲要介绍一个简单的脚本——猜数字,这种小脚本几乎每个编程语言都会有的练习题,好了,下面直接上脚本了:

看脚本之前介绍下这篇博客的3个回合:

1.正常脚本运行

2.添加统计猜测次数的代码

3.如何利用作弊器来作弊,确保百发百中。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env python
import  random
secret = random.randint( 1 , 100 )
guess = 0
tries = 0
print  "This game is to guess a number for you!"
print  " It is a number form 1 to 99,I'll give you 6 times to try. "
while  guess ! =  secret  and  tries <  6 :
     guess = input ( "Please input your guess number: " )
     if  guess < secret:
         print  "====Your guess is too low !====\n"
                                                                                                                                                                
     elif  guess > secret:
         print  "====Your guess is too high!====\n"
     tries = tries + 1
if  guess  = =  secret:
         print  "Congratulations to you! Your  guess is right ! "
else :
         print  "No more guesses! Better luck next time for you!"
         print  "The secret number was" ,secret


  上面的脚本十分简单,下面来解释下:

第三行:secret=random.randint(1,100)    表示这个数字是在1--99之间的范围,random这个模块是个求随机数的功能。

第四,五行是定义了2个变量,第6,7行只是提示作用,没有其他作用,相信大家没有问题。

第8行开始while的一个循环,并且规定了次数不能超过6次。

第9--14行是个判断,如果猜测的数字和系统产生的数字比较之后,给出的提示。

第15行的作用,当每输入一次并且猜测的不对的时候,次数加一做记录。

第16行表示猜测正确之后的提示。

    下面我来给个脚本运行结果的截图吧:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
This game  is  to guess a number  for  you!
  It  is  a number form  1  to  99 ,I'll give you  6  times to  try .
Please  input  your guess number:  34
= = = = Your guess  is  too high! = = = =
Please  input  your guess number:  17
= = = = Your guess  is  too high! = = = =
Please  input  your guess number:  10
= = = = Your guess  is  too high! = = = =
Please  input  your guess number:  8
= = = = Your guess  is  too high! = = = =
Please  input  your guess number:  4
= = = = Your guess  is  too high! = = = =
Please  input  your guess number:  2
= = = = Your guess  is  too high! = = = =
No more guesses! Better luck  next  time  for  you!
The secret number was  1


 这个结果看上还不错吧,但是还不是很直观,我想给他加个猜测的次数,这样看起来就更清晰点:我们来看下最后的结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
C:\Documents  and  Settings\qhz\桌面>python a.py
This game  is  to guess a number  for  you!
  It  is  a number form  1  to  99 ,I'll give you  6  times to  try .
Please  input  your guess number:  23
= = = = Your guess  is  too low ! = = = =
Above  is  No  1  Times guess
Please  input  your guess number:  34
= = = = Your guess  is  too low ! = = = =
Above  is  No  2  Times guess
Please  input  your guess number:  56
= = = = Your guess  is  too high! = = = =
Above  is  No  3  Times guess
Please  input  your guess number:  49
= = = = Your guess  is  too high! = = = =
Above  is  No  4  Times guess
Please  input  your guess number:  42
= = = = Your guess  is  too high! = = = =
Above  is  No  5  Times guess
Please  input  your guess number:  40
= = = = Your guess  is  too high! = = = =
Above  is  No  6  Times guess
No more guesses! Better luck  next  time  for  you!
The secret number was  37


这个结果就需要在原来的脚本上添加一行代码:

print "Above is No " + str(tries) + " Times guess \n"   打印结果表示这个是第几行。


   哈哈,最后这个脚本介绍的差不多了,最后我想给他加个作弊器,想预先知道这个系统产生的数字是多少,你只要 在脚本中添加一行 print secret ,这样一个简单的作弊器就好了,哈哈,你可以运行下,方便你的测试,我们添加这行代码之后,可以运行下看看结果:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
C:\Documents  and  Settings\qhz\桌面>python a.py
62
The game system generated number  is  62
This game  is  to guess a number  for  you!
  It  is  a number form  1  to  99 ,I'll give you  6  times to  try .
Please  input  your guess number:  45
= = = = Your guess  is  too low ! = = = =
Above  is  No  1  Times guess
Please  input  your guess number:  34
= = = = Your guess  is  too low ! = = = =
Above  is  No  2  Times guess
Please  input  your guess number:  62
Above  is  No  3  Times guess
Congratulations to you! Your  guess  is  right !


    哈哈,有作弊器就是管用,我也懒得猜了,直接输入结果,GAME OVER......


最后贴下完整的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#coding=utf-8
#!/usr/bin/env python
'''
Edit By QiaoHaiZhong
Usage:
     Version 0.0.1
'''
import  random
secret = random.randint( 1 , 100 )
print  secret
print  "The game system generated number is "  +  str (secret)  +  "\n"
guess = 0
tries = 0
print  "This game is to guess a number for you!"
print  " It is a number form 1 to 99,I'll give you 6 times to try. "
while  guess ! =  secret  and  tries <  6 :
     guess = input ( "Please input your guess number: " )
     if  guess < secret:
         print  "====Your guess is too low !====\n"
                                               
     elif  guess > secret:
         print  "====Your guess is too high!====\n"
     tries = tries + 1
     print  "Above is No "  +  str (tries)  +  " Times guess \n"
if  guess  = =  secret:
         print  "Congratulations to you! Your  guess is right ! "
else :
         print  "No more guesses! Better luck next time for you!"
         print  "The secret number was" ,secret
本文转自你是路人甲还是霍元甲博客51CTO博客,原文链接http://blog.51cto.com/world77/1223169如需转载请自行联系原作者                                                                                                                                                              world77
相关文章
|
7天前
|
安全 数据处理 开发者
Python中的多线程编程:从入门到精通
本文将深入探讨Python中的多线程编程,包括其基本原理、应用场景、实现方法以及常见问题和解决方案。通过本文的学习,读者将对Python多线程编程有一个全面的认识,能够在实际项目中灵活运用。
|
1天前
|
设计模式 开发者 Python
Python编程中的设计模式:工厂方法模式###
本文深入浅出地探讨了Python编程中的一种重要设计模式——工厂方法模式。通过具体案例和代码示例,我们将了解工厂方法模式的定义、应用场景、实现步骤以及其优势与潜在缺点。无论你是Python新手还是有经验的开发者,都能从本文中获得关于如何在实际项目中有效应用工厂方法模式的启发。 ###
|
6天前
|
弹性计算 安全 小程序
编程之美:Python让你领略浪漫星空下的流星雨奇观
这段代码使用 Python 的 `turtle` 库实现了一个流星雨动画。程序通过创建 `Meteor` 类来生成具有随机属性的流星,包括大小、颜色、位置和速度。在无限循环中,流星不断移动并重新绘制,营造出流星雨的效果。环境需求为 Python 3.11.4 和 PyCharm 2023.2.5。
26 9
|
2天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第24天】本文将带你进入Python的世界,从最基础的语法开始,逐步深入到实际的项目应用。我们将一起探索Python的强大功能和灵活性,无论你是编程新手还是有经验的开发者,都能在这篇文章中找到有价值的内容。让我们一起开启Python的奇妙之旅吧!
|
3天前
|
设计模式 监控 数据库连接
Python编程中的设计模式之美:提升代码质量与可维护性####
【10月更文挑战第21天】 一段简短而富有启发性的开头,引出文章的核心价值所在。 在编程的世界里,设计模式如同建筑师手中的蓝图,为软件的设计和实现提供了一套经过验证的解决方案。本文将深入浅出地探讨Python编程中几种常见的设计模式,通过实例展示它们如何帮助我们构建更加灵活、可扩展且易于维护的代码。 ####
|
1天前
|
数据库 开发者 Python
“Python异步编程革命:如何从编程新手蜕变为并发大师,掌握未来技术的制胜法宝”
【10月更文挑战第25天】介绍了Python异步编程的基础和高级技巧。文章从同步与异步编程的区别入手,逐步讲解了如何使用`asyncio`库和`async`/`await`关键字进行异步编程。通过对比传统多线程,展示了异步编程在I/O密集型任务中的优势,并提供了最佳实践建议。
7 1
|
4天前
|
存储 人工智能 数据挖掘
Python编程入门:构建你的第一个程序
【10月更文挑战第22天】编程,这个听起来高深莫测的词汇,实际上就像搭积木一样简单有趣。本文将带你走进Python的世界,用最浅显的语言和实例,让你轻松掌握编写第一个Python程序的方法。无论你是编程新手还是希望了解Python的爱好者,这篇文章都将是你的理想起点。让我们一起开始这段奇妙的编程之旅吧!
13 3
|
4天前
|
Python
Python编程中正则表达式的使用
【10月更文挑战第22天】正则表达式,一种强大的文本处理工具,在Python编程中有着广泛的应用。本文将介绍如何使用Python中的re库来使用正则表达式,包括如何创建、匹配、查找和替换字符串等。通过学习本文,你将能够掌握Python中正则表达式的基本使用方法。
|
5天前
|
存储 程序员 开发者
Python编程入门:从零开始掌握基础语法
【10月更文挑战第21天】本文将带你走进Python的世界,通过浅显易懂的语言和实例,让你快速了解并掌握Python的基础语法。无论你是编程新手还是想学习一门新的编程语言,这篇文章都将是你的不二之选。我们将一起探索变量、数据类型、运算符、控制结构、函数等基本概念,并通过实际代码示例加深理解。准备好了吗?让我们开始吧!
|
8天前
|
设计模式 开发者 Python
Python编程中的设计模式应用与实践###
【10月更文挑战第18天】 本文深入探讨了Python编程中设计模式的应用与实践,通过简洁明了的语言和生动的实例,揭示了设计模式在提升代码可维护性、可扩展性和重用性方面的关键作用。文章首先概述了设计模式的基本概念和重要性,随后详细解析了几种常用的设计模式,如单例模式、工厂模式、观察者模式等,在Python中的具体实现方式,并通过对比分析,展示了设计模式如何优化代码结构,增强系统的灵活性和健壮性。此外,文章还提供了实用的建议和最佳实践,帮助读者在实际项目中有效运用设计模式。 ###
10 0