如何才能使此代码正常运行?我遇到了if和else语句的问题,显然它没有正确缩进
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何才能使此代码正常运行?我遇到了if和else语句的问题,显然它没有正确缩进相关的知识,希望对你有一定的参考价值。
我正在尝试创建一个计算汽车停止距离的程序,我想这样做,如果用户输入的减速度大于0,那么程序将打印Cannot use positive integers
。此外,程序在else
语句中出现了缩进错误。
我已经玩弄缩进了它并没有解决任何问题。
a = raw_input("How quickly is the vehicle decelerating? ")
if a > 0:
print "cannot be a positive integer"
else a < 0:
s1 = (0 - float(u)**2)
s2 = (2*float(a))
s = s1/s2
print "The vehicle will travel %s meters before coming to a complete stop" % (s)
确实错误地缩进了。您的上一个打印功能应该退回一次以使其无法使用。其次,否则没有收到条件,即如果你输入:
if a > 5:
print(True)
else a < 5:
print(False)
您将收到以下消息:
SyntaxError: invalid syntax
解决它的两个选择:
if a > 5:
print(True)
else:
print(False)
要么
if a > 5:
print(True)
elif a < 5:
print(False)
第三,由于你的对象a是一个字符串,第一个条件a> 0将失败,一旦完成这样的比较a必须是int或float;
最后,raw_input不是Python 3.x中的有效函数。如果您使用更新版本的Python,则应将其替换为input()。考虑到这一点,您的代码应如下所示:
a = input("How quickly is the vehicle decelerating? ")
a = int(a)
if a > 0:
print ("cannot be a positive integer")
else:
s1 = (0 - float(u)**2)
s2 = (2*float(a))
s = s1/s2
print ("The vehicle will travel %i meters per second before coming to a complete stop" % (s))
希望能帮助到你
这是解决代码问题的良好开端。正确的缩进如下:
a = raw_input("How quickly is the vehicle decelerating? ")
if a > 0:
print("cannot be a positive integer")
elif a < 0:
s1 = (0 - float(u)**2)
s2 = (2*float(a))
s = s1/s2
print("The vehicle will travel %s meters per second before coming to a complete stop" % (s))
注意我将括号添加到print()
模块。此外,我用else
交换了你的elif
,因为如果你想调节它,另一个if
是必需的。
以下是其他一些需要考虑的提示:1)尝试使用您的帖子复制并粘贴错误消息。你会发现学习阅读错误会对你有很大帮助。请随意评论他们的答案,以获得进一步的指导。 2)如果您使用的是python 3. *,则raw_input()
将被折旧。 freecodecamp.com有一个伟大的montra:按顺序“Read-Search-Ask”。 3)raw_input()
,或者至少我使用的python3版本,会给你一个char返回。
祝好运!
以上是关于如何才能使此代码正常运行?我遇到了if和else语句的问题,显然它没有正确缩进的主要内容,如果未能解决你的问题,请参考以下文章