【发布时间】:2015-12-15 19:18:13
【问题描述】:
我是 python 2.7 的基本用户。我的查询是这样的
x = raw_input(...:)
if len(x) != 6
re enter x
if x(1:2) < 0 or x(1:2) > 20
re enter x
if x(1:2) < 0 or x(1:2) > 20
re enter x
上述过程的问题在于它对条件一一检查。例如,如果在第三个 if 我输入 4 位而不是 6 位,它仍然是一个错误,但不会显示正确的错误。
我尝试在 if 语句所在的开头使用 while 循环,但出现了同样的问题:它捕获了错误但没有捕获正确的错误消息。
我非常感谢您对此的任何帮助。我想要的是,无论我在哪里重新输入x,它都应该检查所有的 if 语句。
【问题讨论】:
-
x(1:2)看起来不像是有效的语法......我错过了什么吗?通常,如果您发布我们可以运行的实际代码并查看您描述的行为,我们可以为您提供最好的帮助。 -
请尝试在此处发布之前执行代码,这样您就可以看到会发生什么,而不是要求我们为您预测。
-
对不起,如果我有点直言不讳。
-
import string x = raw_input("输入数字:") a =str(x) if len(x) != 6: input= raw_input("no必须有6位数字:" ) if (a[0:2]'12'): input= raw_input("前2位必须是1-12:") if (a[3 :5]'35'): input= raw_input("中间2位必须是1-35:") print 'hello'
-
我要重新发布这个抱歉