zoukankan      html  css  js  c++  java
  • 零基础入门学习Python(4)--改进我们的小游戏

    前言

    在以前的博客中有做个一个小游戏,但是太简单了,所以这次就来对我们做的小游戏进行改进,改善从以下四个方面进行:

    • 程序猜错的时候要给出提示,例如告诉用户输入的值是大了还是小了。
    • 以前程序每运行一次只能猜一次,应该提供多次机会给用户猜测。
    • 每次运行程序,答案要是随机的。
    • 对输入的值进行检测,输入有误要给提示。

    游戏改进后的流程图

    Created with Raphaël 2.1.2Startimport random ##导入随机函数模块times = 5 ##设定猜测次数secret = random.randint(1,10) ##设定猜测结果为随机值print('----------我爱鱼C工作室----------')guess = 0 #赋一个绝对不等于secret的值print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")while (guess != secret) and (times > 0):temp = input()if temp.isdigit()guess = int(temp)times = times -1 #用户每输入一次,可用机会-1if guess == secret:print("卧槽,你是小甲鱼心里的蛔虫吗?!")print("哼,猜中了也没有奖励!")print("游戏结束,不玩拉o(^▽^)o")Endif guess > secret:print("哥,大了大了~~~")if times > 0:print("再试一次吧:", end=" ")print("机会用光咯T_T")print("嘿,小了,小了~~~")times = times -1if times > 0:print("抱歉,您的输入有误,请输入一个整数:",end=" ")print("没有机会了T_T") yesnoyesnoyesnoyesnoyesno

    改进后的代码

    import random
    times = 5
    secret = random.randint(1,10)
    print('----------我爱鱼C工作室----------')
    guess = 0
    print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
    while(guess != secret) and (times > 0):
        temp = input()
        if temp.isdigit():
            guess = int(temp)
            times = times - 1
            if guess == secret:
                print("卧槽,你是小甲鱼心里的蛔虫吗?!")
                print("哼,猜中了也没有奖励!")
            else:
                if guess > secret:
                    print("哥,大了大了~~~")
                else:
                    print("嘿,小了,小了~~~")
                if times > 0:
                    print("再试一次吧:", end=" ")
                else:
                    print("机会用光咯T_T")           
        else:
            times = times - 1
            if times > 0:
                print("抱歉,您的输入有误,请输入一个整数:",end=" ")
            else:
                print("没有机会了T_T")          
    print("游戏结束,不玩拉o(^▽^)o")
    
  • 相关阅读:
    多个tab切换demo
    react添加和删除定时器的地方
    编写C语言的两种方法----Visual Studio/CodeBlocks
    C++学习笔记---引用的本质
    C++学习笔记---指针
    C++学习笔记---数据类型
    博客园皮肤SimpleMemory深色风格皮肤
    SQL DELETE语句如何让表使用别名的方法
    Asp.Net实现局部刷新,ScriptManager和UpdatePanel控件的使用
    由于可能不会将凭据发送到远程计算机,因此将不会进行连接。若要获得协助,请与您的系统管理员联系。(转)
  • 原文地址:https://www.cnblogs.com/wanbin/p/9514709.html
Copyright © 2011-2022 走看看