无论是否在Python中满足条件,都返回else语句

时间:2017-03-05 06:58:56

标签: python if-statement

##---Initializing Variable----------------------------------------------------------------------#
#-----------------------------------------------------------------------------------------------#
objectMass=0
weight=0

##---Introductory Statement: Welcome to the Program---------------------------------------------#
#-----------------------------------------------------------------------------------------------#
def intro():
    print("\n".join(["---------------------------------------------------------",
              "Hello and Welcome to Mass to Weight Calculator",
              "Today is a good day!",
              "---------------------------------------------------------"]))

##---The getMass module gets user input for mass & stores in getMass reference modules----------#
#-----------------------------------------------------------------------------------------------#
def getMass(): 
    objectMass=float(input("Please enter the Mass of the object you want calculated: "))
    return objectMass

##--The weightConversion module calculates inputted mass into weight----------------------------#
#-----------------------------------------------------------------------------------------------#
def weightConversion(objectMass):
    gravity = 9.8
    weight=float(objectMass)*gravity
    return weight

##--Calculation Module compares weight of object and prints out sentence associated to weight---#
#-----------------------------------------------------------------------------------------------#
def massToWeight(objectMass, weight):
    if weight > 1000:
        print("\n".join(["Holy Smokes, your weight(in newtons) is:", format(weight, ".2f"),
                        "It's way too heavy!!!"]))

    if weight < 10:
        print("Aww man, I can pick this up with one finger.", "It's way too light!",
                        "This weight(in newtons) is:", format(weight, ".2f"))

    else:
        print("This weight(in newtons):", format(weight, ".2f"), "is just right.")
    return

##---Closing Statement--------------------------------------------------------------------------#
#-----------------------------------------------------------------------------------------------#
def closingStatement():
    print("\n".join(["---------------------------------------------------------",
              "Thank you for using our Mass to Weight Calculator!",
              "Please use us for all your calculation needs."]))
    return

##---Main module--------------------------------------------------------------------------------#
#-----------------------------------------------------------------------------------------------#
def main():
    ##Introductory Statement
    intro()

    ##---Get Mass
    objectMass=getMass()

    ##Calculate Mass to Weight
    weight=weightConversion(objectMass)

    ##Compare results
    massToWeight(objectMass, weight)

    ##Closing Statement
    closingStatement()

main()
嘿大家好我的第一个条件是&gt;我的程序正在返回我的其他程序massToWeight模块中满足1000并且不确定原因。该程序不需要模块,但希望在python中练习使用模块。

有人可以帮忙吗?

谢谢,

的Darryl

2 个答案:

答案 0 :(得分:1)

if weight > 1000:                         #IF1
    print()
if weight < 10:                           #IF2
    print()
else:
    print()

问题是IF2应该是elif

让我们考虑一个例子:

  1. 让重量= 10000
  2. IF1条件将通过,它将被执行。
  3. 现在,由于IF2不是elif,因此这将被视为一个完全独立的新If-else语句。
  4. IF2条件将失败,然后else部分将被执行。

答案 1 :(得分:0)

使用

elif weight < 10:

而不是

if weight < 10: