问题1:
刚尝试执行该程序,但我收到语法错误
i=input('Enter the value of i')
for j in range(10):
if i==j:
print'The value of i is %d'%(i)
elif i!=j:
print'Please enter a valid value'
else:
print 'This is not a number'
答案 0 :(得分:0)
以下两个代码之间的区别在于代码1要求输入一次然后循环尝试比较,而代码2将要求输入每个循环(10x)......
答案 1 :(得分:0)
如果你的代码在你把它放在这里时真的缩进了,你得到语法错误的原因是你的elif
和else
块缩进太多了。您的代码的另一个问题是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
答案 2 :(得分:0)
由于代码中的缩进级别不一致,您似乎遇到语法错误。请尝试以下方法并调整程序以满足您的任何需求。
#! /usr/bin/env python3
import sys
def main():
loop = True
while loop:
try:
i = int(input('Enter of the value of i: '))
except EOFError:
sys.exit()
except ValueError:
print('This is not a number')
else:
if 0 <= i <= 9:
print('The value of i is', i)
loop = False
else:
print('Please enter a valid value')
if __name__ == '__main__':
main()