python退出程序 只跳出while_为什么我的简单程序从不退出while循环?
变量只存在于它们的“名称空间”中,这是代码的一部分,可以识别不同的变量。将为您编写的每个函数创建一个新的命名空间。这是很有帮助的,因为随着项目的增长,您可能需要为几个不同的事物重用公共变量名。在
在代码中,有两个不同的变量名为playerGuess。一个位于第一个命名空间中,另一个位于为函数guess()创建的命名空间中。如果我们这样做:while int(playerGuess) != number:
print(playerGuess, number) # The added line
guess()
事情变得更清楚了。这是我玩的一个游戏,增加了一行:
^{pr2}$
脚本中任何函数之外的名称空间(如number = randint(0,20))是“全局”名称空间,这意味着可以从任何其他名称空间从这里提取值。这就是为什么number可以被guess()函数使用-guess()检查它的命名空间中是否定义了一个变量number,看没有,然后检查全局命名空间。可以从代码的其他部分更改全局命名空间,但这被认为是不好的做法,因为这些更改来自何处并不明显。如果你想采用这种方法,你可以这样修改你的代码:from random import randint
number = randint(0,20)
playerGuess = '0'
def guess():
global playerGuess # The added line
playerGuess = input("Guess a number: ")
. . .
现在它可以工作了,因为guess()被授予了更改全局名称空间的显式权限。另一种方法是只在名称空间之间来回传递我们关心的值。在from random import randint
number = randint(0,20)
playerGuess = '0'
def guess():
playerGuess = input("Guess a number: ")
if int(playerGuess) == number:
print("Correct!")
elif int(playerGuess) > number:
print("Lower!")
elif int(playerGuess) < number:
print("Higher!")
else:
print("Please input a whole number.")
return playerGuess # Added line
while int(playerGuess) != number:
print(playerGuess, number)
playerGuess = guess() # Added line, update the playerGuess in this namespace
这被认为是更好的,因为现在很明显,在哪里和什么改变了变量playerGuess。在
python退出程序 只跳出while_为什么我的简单程序从不退出while循环?相关推荐
- python 退出程序_Python:用Ctrl+C解决终止多线程程序的问题!(建议收藏)
前言: 今天为大家带来的内容是Python:用Ctrl+C解决终止多线程程序的问题!文章中的代码具有不错的参考意义,希望在此能够帮助到各位!(多数代码用图片的方式呈现出来,方便各位观看与收藏) 出发点 ...
- python退出程序-python退出程序
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! python退出程序的方式有两种:os._exit(),sys.exit() 1) ...
- python中如何跳出多层循环
像c语言中的goto,shell中的break 后面跟跳出层次的在方法在python中都没有,这可不是因为python设计的low,而是允许一次性跳出多个循环很容易造成程序流程的混乱,使理解和调试程序 ...
- python 跳出for循环_python中如何退出for循环
Python中的for循环与其它语言不大一样,但跳出循环还是与大多数语言一样,可以使用关键字continue跳出本次循环或者break跳出整个for循环. break语句: Python中的break ...
- python 为什么只执行一次_python只执行一次
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! #!usrbinpython #coding=utf-8 created on ...
- python移动文件的函数_移动并重命名2000个文件,用Python,只需3秒
原标题:移动并重命名2000个文件,用Python,只需3秒 作者:陈熹.刘早起 来源:早起Python 今天介绍的案例是如何利用Python来 自动化移动.修改.重命名文件/夹,这样的操作在日常办公 ...
- Python退出程序 sys.exit()
1. sys.exit(arg) (1)退出程序机制 通过引发SystemExit异常来退出Python程序. 可以通过捕捉SystemExit异常,在finally语句中进行一些清理操作:不捕捉Sy ...
- [转载] python字符串只留数字_Python工匠:数字与字符串(下)
参考链接: Python字符串| rsplit " 编程某种意义上是一门『手艺』,因为优雅而高效的代码,就如同完美的手工艺品一样让人赏心悦目. " 致"匠人" ...
- python异常处理_Python基础语法案例(Fibonacci):选择结构、循环结构、异常处理结构、代码优化...
推荐图书: <Python程序设计基础(第2版)>,ISBN:9787302490562,董付国,清华大学出版社,第16次印刷,清华大学出版社2019年度畅销图书 图书购买链接(京东):配 ...
- python指定条件分类输出_python基础(二)条件判断、循环、格式化输出
继续上一篇,今天主要总结一下条件判断.循环.格式化输出 一.条件判断 python中条件判断使用if else来判断,多分支的话使用if elif ... else,也就是如果怎么怎么样就怎么怎么样, ...
最新文章
- Linus 谈 Git 的设计思想,顺带骂了一堆人(视频)
- 微信支付:“当前页面的URL未注册”
- Jupyter Notebook: 解决build docker-stacks时conda太慢的问题
- 利用OpenCvSharp处理图片并在winformd的pictureBox中显示
- python pygame模块怎么写游戏_使用 Python 和 Pygame 模块构建一个游戏框架
- BitSet之为什么用long保存信息
- SQL语句执行效率及分析(轉)
- Java敏感词过滤 工具类
- 【COS】函数使用技巧
- 重磅长文!先进院李骁健等人:在体神经界面技术的发展-从小到大规模记录
- [问题]Make sure that `gem install pg -v '0.17.1'` succeeds before bundling.
- 人机智能交互技术(ROS)实践作业模版与说明
- schedule定时任务
- Qt6.3.1播放音频文件QAudioSink
- u8信息服务器,U8开启服务器
- 《三国群英传2网络版》英勇兵资料大汇总,看这一篇就够了
- 2021年全球渗膜式空气干燥器收入大约525百万美元,预计2028年达到580百万美元
- 计算机组装师分为哪几步,电脑组装主要需要学习哪几个方面?难学吗?
- 离散数学:计算主析取范式(基于真值表)
- 不看绝对血亏!新加坡java工程师的月薪
热门文章
- 深入理解同步/异步与阻塞/非阻塞区别 (转)
- hdu 1983(BFS+DFS) 怪盗Kid
- 【转载】Jquery中的$命名冲突的解决方案
- Gravatar是什么?全球通用头像简单介绍与使用教程
- sql 判断分钟是偶数数据_SQL注入数据库类型判断
- 拓端tecdat|R语言有限混合模型聚类FMM、广义线性回归模型GLM混合应用分析威士忌市场和研究专利申请、支出数据
- 拓端tecdat|R语言多项式线性模型:最大似然估计二次曲线
- 拓端tecdat|Mac系统R语言升级后无法加载包报错 package or namespace load failed in dyn.load(file, DLLpath = DLLpath,
- 拓端tecdat|windows中用命令行执行R语言命令
- 安卓studio没有java.xml_Android文件(Java和XML)被奇怪的XML替换