返回else语句无论if条件是否满足Python

问题描述:

##---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() 

嘿大家。当我的第一个条件> 1000在massToWeight模块中遇到并且不知道为什么时,我的程序正在返回我的else。该程序不需要模块,但想要练习使用Python中的模块。返回else语句无论if条件是否满足Python

有人可以帮忙吗?

谢谢

达里尔

+0

你可以提供一个小例子吗?只有在if-else的问题上有很多噪音。 –

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部分将被执行。

使用

elif weight < 10: 

,而不是

if weight < 10: