如何才能使此代码正常运行?我遇到了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语句的问题,显然它没有正确缩进的主要内容,如果未能解决你的问题,请参考以下文章

如何使此 Java 代码正常运行? [多线程,竞争条件]

为啥必须动态分配扩展数组才能使此函数正常工作 C++

如何使此代码与 Integer-> Int 类型签名一起使用?

如何更改代码并添加屏幕分辨率才能运行?

If else 语句和分配变量

如何在 jquery 中的 if 和 else 中进行数学运算?