返回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
有人可以帮忙吗?
谢谢
达里尔
答
if weight > 1000: #IF1
print()
if weight < 10: #IF2
print()
else:
print()
的问题是,IF2
应该已经elif
让我们来看一个例子:
- 让体重= 10000
-
IF1
条件将通过,它将被执行。 - 现在,因为
IF2
不是elif
,所以这将被视为完全独立的新If-else语句。 -
IF2
条件将失败,然后它的else
部分将被执行。
答
使用
elif weight < 10:
,而不是
if weight < 10:
你可以提供一个小例子吗?只有在if-else的问题上有很多噪音。 –