# coding=utf-8from sys import argvscript,girl_01,girl_02 = argvdef 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. 让程序一部分一部分地运行起来。不要等一个很长的脚本写完后才去运行它。写一点,运行一点,再修改一点。

笨方法学习Python-习题36: 设计和调试相关推荐

  1. 笨方法学习Python 习题19 函数和变量 ---学习记录

    习题19 函数和变量 #定义cheese_and_crackers函数,参数有括号里的俩 def cheese_and_crackers(cheese_count,boxes_of_crackers) ...

  2. 笨方法“学习python笔记之print()函数end

    在<"笨方法"学习python>中的第7个习题中的用例代码中有print()函数的end用例 代码如下: end1 = "C" end2 = &qu ...

  3. 笨方法“学习python笔记之urlopen

    最近在学习"笨方法"学python中,在习题41中发现了urlopen()函数,特意查了下官方资料,查资料最好查官方资料,最好不要做"百度君".urlopen( ...

  4. 笨方法“学习python笔记之输入

    Python程序输入和其他语言一样,主要有三种方式 1:常用的 使用input()函数,作为程序的输入 例子就采用<"笨方法"学python>中的第·12个习题作为例子 ...

  5. “笨方法”学习Python笔记(1)-Windows下的准备

    Python入门书籍 来自于开源中国微信公众号推荐的一篇文章 全民Python时代,豆瓣高级工程师告诉你 Python 怎么学 问:请问你目前最好的入门书是那本?有没有和PHP或者其他语言对比讲Pyt ...

  6. python手记(游戏) 笨方法学python习题36【持续更新中】

    如有意见或其他问题可在下方写下评论或加QQ:1693121186 欢迎一起讨论技术问题! 代码如下: 解说:这是笨方法的习题36,让做一个游戏.我会持续更新,如果想复制玩玩的同学,请别将主线线人以下的 ...

  7. 笨方法“学习python笔记之元组(tuple)

    Tuple(元组)是python的基本序列三种类型之一(另外两种是List, Range),是"笨方法"学python3中没有讲到的数据类型,因此专门查了下官方资料,中可以查找到对 ...

  8. 笨方法“学习python笔记之字典

    列表是线性存储,且可以随机访问,且是有序的,其访问可以通过索引来访问.而字典是另外一种存储数据,可以通过建立键和值的映射关系,就和查字典差不多,通过键就可以查找到相对应的值 字典创建 字典创建过程中每 ...

  9. LPTHW 笨方法学习python 16章

    根据16章的内容作了一些扩展. 比如,判断文件如果存在,就在文件后追加,如不存在则创建. 同时借鉴了shell命令中类似 cat <<EOF > test的方法,提示用户输入一个结尾 ...

最新文章

  1. python动态规划详解_经典动态规划例题整理(Python版)
  2. 为什么做好数据安全这么难?黑客太牛?
  3. Android NDK JNI 简单例子1 : Android NDK配置和下载
  4. 2018-08-21文件字节输出流OutputStream+文件字节输入流InputStream+字符输出流FileReader+字符输出流FileWriter...
  5. caffe/common.cu error: function atomicadd has already been defined
  6. oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...
  7. linux清空动态文件内容,linux 动态清空 nohup 清空后,发现文件大小不变
  8. Linux字符模式下如何设置/删除环境变量
  9. 由sqlite在手机上的存储位置,引发的onCreate在哪里执行的小结
  10. Windows 10安裝.net Framework 3.5出現0X800F0954錯誤
  11. VSCode中文版快捷键
  12. 学Python,用Python自动创建PDF文档,实现办公自动化
  13. VUE3-Cesium(entity、primitive总结及材质的修改)
  14. ads1115多片并联
  15. 软考嵌入式系统设计师2013年上午试题总结
  16. 《麦田里的守望者》 经典摘录
  17. 世界首款前置前驱混动8挡自动变速器山东潍坊问世
  18. Campus Talking 小记(3)
  19. 深入分析Linux虚拟化KVM-Qemu之ARMv8虚拟化
  20. 项目优化:当使用redis减少数据库压力时,遇到redis写入失败,造成读取数据问题的解决方案

热门文章

  1. 零基础搭建:可扫码、实时分析的设备巡检系统
  2. DXC帮助全球企业和公共领域客户拥抱变革
  3. 北上资金近1周流入排行榜
  4. Xanadu:逐梦一个关于光量子计算的“新上都计划”
  5. ADM周期-阶段目标说明
  6. 关于kernel2.6中USB host controller driver 的问题
  7. java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession
  8. NVCC CUDA编译流程
  9. 一本建立程序员(其它从业者)世界观、价值观和人生观的书——《黑客与画家》读书笔记
  10. 射频电子标签 购物绿色通道