如果您的代码在您放置在此处时真的缩进,那么您得到语法的原因错误是您的elif
和else
blo cks缩进太多。您的代码的另一个问题是i
可能等于或不等于j
。没有第三种选择。另一个问题是,它第一次遇到一个不等于输入数字的数字时,它会说它不是一个有效的值。另外,只是说“请输入一个有效值”并不会如此。这里是一个更好版本的代码:
i = None
while True:
i = input("Enter the value of i")
if i.isdigit():
if int(i) in range(10):
print "The value of i is %d" % i
else:
print "Please enter a valid value"
else:
print "This is not a number"
对于问题2,两者的区别在于,在第一,i=input('Enter the value of i')
将在循环之前执行,并在第二个它会为每一个被执行循环迭代。 (也就是说,一次一个执行循环时间。因为range(10)
回报十个项目,它运行十倍。)更多关于for
循环here,here,并且here
请正确格式化您的代码,并且每个帖子只询问一个问题。 – tom10
如果你的代码真的被缩进了,这就是你得到SyntaxError的原因。 'elif'和'else'应该与'if'一致' –
''我得到语法错误'' - 实际上查看错误将是一个很好的地方。 ''下面的代码有什么不同?' - 第一个样本中的第一行在第二行中移动到第二行。 – David