笨方法学习Python-习题36: 设计和调试

# coding=utf-8

from sys import argv

script,girl_01,girl_02 = argv

def who_do_you_like(girl_01,girl_02):
    """你更喜欢哪种?"""
    print("有两个女孩,你更喜欢哪一个?\nfirst,漂亮,身材不好 \nsencond,丑,身材火爆")
    print("下面就到了你选择的时候了,first %s or sencond %s" % (girl_01,girl_02))

    choose = input("请告诉我你的答案?first or sencond ?>>>")
    
    if choose == "first" or choose == "1":
        choose_01()
    elif choose == "sencond" or choose == "2":
        choose_02()
    else:
        die("没有其他选择!!")

def die(why):
    print(why,"游戏结束!?")

def choose_01():
    print("""这个女孩被困住了,\n 我问你答,答对了,女孩获救\n 1 + 1 = ?""")
    
    result = input(">>>")
    if result != "2" :
        die("say good bye!")
    else:
        who_do_you_like("Juce","Joce")

def choose_02():
    print("""这个女孩被困住了,\n我问你答,答对了,女孩获救\n1 - 1 = ?""")

    result = input(">>>")
    if result == "0" :
        print("恭喜你答对了,可以美人归,但是你还有机会后悔,你会怎么做?")
        end = input("请做出你的选择:>>>")
        if end in "后悔":
            while True:
                die("贪心的人都死的早")
        else:
            print("恭喜通过")
    else:
        choose_01()


who_do_you_like("lili","lucy")		

If 语句的规则

1. 每一个“if 语句”必须包含一个 else.2. 如果这个 else 永远都不应该被执行到,因为它本身没有任何意义,那你必须在 else 语句后面使用一个叫做 die 的函数,让它打印出错误信息并且死给你看,这和上一节的习题类似,这样你可以找到很多的错误。3. “if 语句”的嵌套不要超过 2 层,最好尽量保持只有 1 层。 这意味着如果你在 if 里边又有了一个 if,那你就需要把第二个 if 移到另一个函数里面。4. 将“if 语句”当做段落来对待,其中的每一个 if, elif, else 组合就跟一个段落的句子组合一样。在这种组合的最前面和最后面留一个空行以作区分。5. 你的布尔测试应该很简单,如果它们很复杂的话,你需要将它们的运算事先放到一个变量里,并且为变量取一个好名字。


循环的规则

1. 只有在循环永不停止时使用“while 循环”,这意味着你可能永远都用不到。这条只有 Python中成立,其他的语言另当别论。2. 其他类型的循环都使用“for 循环”,尤其是在循环的对象数量固定或者有限的情况下。


调试(debug)的小技巧

1. 不要使用 “debugger”。 Debugger 所作的相当于对病人的全身扫描。你并不会得到某方面的有用信息,而且你会发现它输出的信息态度,而且大部分没有用,或者只会让你更困惑。2. 最好的调试程序的方法是使用 print 在各个你想要检查的关键环节将关键变量打印出来,从而检查哪里是否有错。3. 让程序一部分一部分地运行起来。不要等一个很长的脚本写完后才去运行它。写一点,运行一点,再修改一点。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值