- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如果我在我的 Python 脚本中犯了一个简单的错误,我正在尝试找出是否有一种方法可以“强制”Python 脚本不“把我扔回”到 bash 环境中。
这里有一个 MWE (MWE.py) 来说明这一点:
如果我在下面的 MWE 中按 3,你如何告诉 Python 不要将我踢出程序?
x = raw_input("Please input a number 1 or 2: ")
if (x == '1'):
print '1'
elif (x == '2'):
print '2'
#else:
#print 'Neither 1 nor 2.'
请注意,我的最后两行被注释掉了。如果我取消对它们的注释,显然我会得到相应的打印语句并且程序会成功完成。但是,假设我没有最后两行,并且希望 MWE.py “保持 Python 模式”(可以这么说)而不是严厉地将我返回到 bash shell,从而迫使我从头开始重新运行python MWE.py
.
有什么办法可以做到这一点吗?
显然,这是一个微不足道的 MWE,但我试图理解其原理:是否有可能只返回在我输入错误之前出现的最后一个提示(例如当我在这个 MWE 中提交时按下 3).基本上是否有一种“通用方法”可以返回到 x = raw_input("Please input a number 1 or 2: ")
(或者其他任何我在制作之前收到的最新提示输入错误)?
这对于在不同阶段需要多个用户输入的程序来说似乎尤为重要。我不想从头开始。
最佳答案
这叫做循环(条件两边的括号不是必需的):
x = None
while x != '1' and x != '2':
x = raw_input("Please input a number 1 or 2: ")
if x == '1':
print '1'
elif x == '2':
print '2'
else:
print 'Neither 1 nor 2.'
print "all OK"
有多种写法。您应该注意如何在循环之前初始化 x
,None
在 python 中是典型的。
还要注意 x
的值是一个字符串,而不是一个 int
。
如果您要测试大量可能的值,这很快就会变得笨拙。因此,另一种方法是使用无限循环并在正确回复时中断
:
x = None
while True:
x = raw_input("Please input a number 1 or 2: ")
if x == '1':
print '1'
break
elif x == '2':
print '2'
break
else:
print 'Invalid input, try again'
print "all OK"
关于python - 在 Python 脚本中重试用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30993853/
冷静下来,不吹不黑。 01 最近半年,互联网一款现象级的应用诞生:「ChatGPT」; 其火爆的程度,不输前面的羊了个羊; 最初了解到ChatGP
在了解在 .Net 中开发是什么样子之前,我有几个新手问题: 非管理员用户能否安装 .Net 框架,无论是原始包还是运行程序所需的任何后续更新?我们的一些客户锁定了 XP/Vista 主机,当我们上传
https://plus.google.com/u/1/110412141990454266397/posts/Nvr6Se6eAPh 有谁知道如何使用最新版本的 GWT(来自 svn)和 Chrom
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是偏离
我需要在加载 NSDocument 之前创建多个窗口,或者创建一个阻止 NSDocument 窗口和顶部菜单的窗口。 我尝试了几种解决方案 - 但它们都不起作用。 模态窗口,一个接一个。 Async
尝试配置 spring 3 MVC,这是我目前所做的: 我将所有 spring 3.0 库添加到我的 netbeans 项目中。 我的 web.xml 是: WebApp
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
我无法让 Resharper 的清理代码停止更改如下属性: public long Value { get { return _thingy; } se
我并不是真的在寻找基本的 SQL 指南,而是寻找特定于 PostgreSQL 的东西。 而且我确实运行自己的服务器,因此获取最新版本(我相信是 8.2?)没问题。 最佳答案 重要的事情: 如果可以(既
这是 Adobe Encore 程序的屏幕截图。 在这里,您可以看到一组深色组件。 可以购买,下载等吗?它们是从 Adobe Cor. 公开的吗? 谢谢 最佳答案 实现这种外观和感觉的最简单方
我有一个代码(可以正常工作)用于使用 C++ Builder 来引导 word。它对于访问文档中的不同书签很有用。 Variant vNom, vWDocuments, vWDocument, vMS
我是一名优秀的程序员,十分优秀!