我想打印从1到100的数字,但是对于3的倍数我要打印“快速”,对于7的倍数,我想打印“Car”和3&的倍数。 7我想打印“快车”而不是那个号码。在这里,我正在尝试使用Python实现它。这是我在Python中的第一个程序。在这里,我得到语法错误。任何人都可以帮我解决这个问题吗?
for num in range(1,100)
if num%3==0 & num%7==0
print "Fast Car"
elif num%3==0
print"Fast"
elif num%7==0
print "Car"
else
print num
答案 0 :(得分:5)
错误日志应该会在您收到错误的行上提供一些提示。
但是,您忘记在for语句结束时使用:
和if语句:
for num in range(1,100):
if num%3==0 and num%7==0:
print "Fast Car"
elif num%3==0:
print"Fast"
elif num%7==0:
print "Car"
else:
print num
编辑:不要忘记你需要正确缩进(这是Python的工作方式)
编辑2:该死的,Niclas在我面前提出了这一点:)
最后,如果您以前从未编写过Python,请尝试阅读并遵循教程,其中最好的一个肯定是Dive into Python
编辑3:看看Johnsyweb对评论代码的回答和PEP 8(样式)的链接
答案 1 :(得分:3)
你必须在每个结尾使用冒号,if,elif和else。你的身份也错了......
答案 2 :(得分:2)
你需要通过a Python tutorial来掌握Python,它的语法和缩进(空白非常重要)。
for num in range(1, 100): # For-statements end with a colon
if num % 3 == 0 and num % 7 == 0: # Indentation is important 4 spaces per
# block. 'and' is "logical and".
# if-statements also end in a colon.
print "Fast Car" # This line is indented 4 spaces from the 'if'
elif num % 3 == 0: # This lines up with 'if' and ends with a colon
print "Fast" # Indented 4 spaces from 'elif'
elif num % 7 == 0: # See previous 'elif'
print "Car" # See previous 'print'
else: # This lines up with 'if' and ends with a colon#
print num # See previous 'print'
祝你好运! Python是一种很棒的语言。
答案 3 :(得分:1)
我也是python的新手,但你可以尝试在第一行之后用冒号(:)开始
for num in range(1,100):
你甚至可能需要另一个地方,但我不确定。我会亲自尝试你的代码,但我现在没有时间