1.输入若干个成绩,求所有成绩的平均分。每输入一个成绩后询问是否继续输入下一个成绩,回答“yes”就继续输入下一个成绩,回答“no”就停止输入成绩。

numbers = []                           #使用列表存放临时数据
while True:x = input('请输入一个成绩:')try:                               #异常处理结构          numbers.append(float(x))except:print('不是合法成绩')while True:flag = input('继续输入吗?(yes/no)').lower()if flag not in ('yes', 'no'):  #限定用户输入内容必须为yes或noprint('只能输入yes或no')else:breakif flag=='no':breakprint(sum(numbers)/len(numbers))

2.假设一共有一排5个洞口,小狐狸最开始的时候在其中一个洞口,然后人随机打开一个洞口,如果里面有小狐狸就抓到了。如果洞口里没有小狐狸就明天再来抓,但是第二天小狐狸会在有人来抓之前跳到隔壁洞口里。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from random import choice, randrangedef catchMe(n=5, maxStep=10):'''模拟抓小狐狸,一共n个洞口,允许抓maxStep次如果失败,小狐狸就会跳到隔壁洞口'''# n个洞口,有狐狸为1,没有狐狸为0positions = [0] * n# 狐狸的随机初始位置oldPos = randrange(0, n)positions[oldPos] = 1# 抓maxStep次while maxStep >= 0:maxStep -= 1# 这个循环保证用户输入是有效洞口编号while True:try:                                                                #异常处理部分x = input('你今天打算打开哪个洞口呀?(0-{0}):'.format(n - 1))# 如果输入的不是数字,就会跳转到except部分x = int(x)# 如果输入的洞口有效,结束这个循环,否则就继续输入assert 0 <= x < nbreakexcept:# 如果输入的不是数字,就执行这里的代码print('要按套路来啊,再给你一次机会。')if positions[x] == 1:print('成功,我抓到小狐狸啦。')breakelse:print('今天又没抓到。')print(positions)if oldPos == n - 1:newPos = oldPos - 1elif oldPos == 0:newPos = oldPos + 1else:newPos = oldPos + choice((-1, 1))positions[oldPos], positions[newPos] = 0, 1oldPos = newPoselse:print('放弃吧,你这样乱试是没有希望的。')# 启动游戏,开始抓狐狸吧
catchMe()

python 关于异常处理 try...except... 的两个案例相关推荐

  1. python基础编程之 7-2 python的异常处理机制

    7-2 python的异常处理机制 Date: 2021-06-13 Author: SunnyChou 异常处理 当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行. python提 ...

  2. 简单介绍Python中异常处理用法

    这篇文章主要给大家分享的是 Python中异常处理用法,为了保证程序的健壮性与容错性,即在遇到错误时候程序不会崩溃,我们需要对异常进行处理,下面来看看文章对此的用法,需要的朋友可以参考一下 为了保证程 ...

  3. 简单介绍python连接telnet和ssh的两种方式

    本文主要介绍了python连接telnet和ssh的两种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Telnet 连接方式 #!/usr/bin/env p ...

  4. python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict)

    python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict) 目录

  5. python 多进程异常处理

    前言 最近项目用到了Python作为网站的前端,使用的框架是基于线程池的Cherrypy,但是前端依然有一些比较'重'的模块.由于python的多线程无法很好的利用多核的性质,所以觉得把这些比较'重' ...

  6. python要学多久-python需要学多久?自学两年也很难达到企业标准!

    原标题:python需要学多久?自学两年也很难达到企业标准! python学习需要多久?这是许多初学者都关心的问题.的确,零基础学习python是非常不错的选择,Python功能强大.语法简单.上手容 ...

  7. Python 多进程异常处理的方法,你会吗

    最近项目用到了Python作为网站的前端,使用的框架是基于线程池的Cherrypy,但是前端依然有一些比较'重'的模块.由于python的多线程无法很好的利用多核的性质,所以觉得把这些比较'重'的功能 ...

  8. python 读取wav 音频文件的两种方式

    python 中,常用的有两种可以读取wav音频格式的方法,如下所示: 1 import scipy 2 from scipy.io import wavfile 3 4 import soundfi ...

  9. python为什么closed_为什么python类的函数被调用两次[关闭](Why a function of python class is called twice [closed])...

    为什么python类的函数被调用两次[关闭](Why a function of python class is called twice [closed]) 我遇到了两次调用的python类函数的问 ...

最新文章

  1. Android初学第36天
  2. qmainwindow键盘监听
  3. 安装中文语言包会导致 Troubleshoot Compatibility 失败
  4. 【深度学习】——梯度下降优化算法(批量梯度下降、随机梯度下降、小批量梯度下降、Momentum、Adam)
  5. Neo4j:带密码的TF / IDF(和变体)
  6. leetcode No.141 环形链表
  7. Struts2的学习-属性驱动和模型驱动
  8. (2)[wp7数据存储] WP7 IsolatedStorage系列篇——获取存储的文件或文件夹 [复制链接]...
  9. VS2015静态库的使用(下)
  10. 四、案例:北京二手房价影响因素分析
  11. wifi微信认证服务器架设,商业WiFi微信认证实现
  12. etcd系列深入浅出客户端
  13. 如何批量给pdf文件加密?
  14. 【惨遭被裁】985毕业,依然过不好这一生
  15. Selenium中的隐式等待和显式等待
  16. 【读书笔记】小狗钱钱
  17. java第一阶段(day01)
  18. iOS学习笔记75-NSURLSession使用实战教程
  19. 微信加粉啦 - 微信加粉统计管理的解决方案;
  20. 数据库进阶·如何针对所有用户数据中没有的数据去加入随机的数据-蜻蜓Q系统用户没有头像如何加入头像数据-优雅草科技kir

热门文章

  1. [转]Asp.Net Core 简单的使用加密的Cookie保存用户状态
  2. H5开发开发利器——flex
  3. Android记录一个setTextColor常见的一个bug
  4. rails3使用ActionMail发送邮件
  5. 7600和6500的一些常见问题
  6. 开发过程中的常见问题
  7. java2d简介_AWT_Java2D简介
  8. [SAP ABAP开发技术总结]动态语句、动态程序
  9. ETL安装前的准备 - 数据库创建方法
  10. 为什么查询sap数据库表的时候前面要加sapsr3