Python 如何允许用户在2个选项中进行选择?
我创建了两个函数,一个用于计算射弹的最大射程,另一个用于计算射弹的最大高度 现在我想写一段代码,让用户在上面两个函数中进行选择 我该怎么做 以下是两个功能: 射程Python 如何允许用户在2个选项中进行选择?,python,python-2.7,Python,Python 2.7,我创建了两个函数,一个用于计算射弹的最大射程,另一个用于计算射弹的最大高度 现在我想写一段代码,让用户在上面两个函数中进行选择 我该怎么做 以下是两个功能: 射程 from math import sin from math import pi u = raw_input("Velocity of Projection?") angle = raw_input("Angle of Projection?") def max_range(u, angle): if type(u) ==
from math import sin
from math import pi
u = raw_input("Velocity of Projection?")
angle = raw_input("Angle of Projection?")
def max_range(u, angle):
if type(u) == int and type(angle) == int and u>0 and angle>0:
return " Maximum range of the projectile is " +
str((u**2)*sin(pi/180*angle*2)*0.1)
else:
return "Invalid parameters!"
print max_range(u, angle)
--------------------------
FOR HEIGHT
from math import sin
from math import pi
u = raw_input("Velocity of Projection?")
angle = raw_input("Angle of Projection?")
def max_height(u, angle):
if type(u) == int and type(angle) == int and u>0 and angle>0:
return "Maximum height reached by the projectile is " +
str((u**2)*(sin(pi/180*angle))**2/20)
else:
return "Invalid parameters!"
print max_height(u, angle)
正如Martijn Pieters所建议的,您可以使用
if…else
来决定执行哪个函数
当然,您需要一种告诉程序要执行哪个选项的方法,在我的示例中,要求用户输入一个数字选项
from math import sin
from math import pi
def max_range(u, angle):
# code that computes max range
def max_height(u, angle):
# code that computes max height
def main():
u = raw_input("Velocity of Projection?")
angle = raw_input("Angle of Projection?")
operation = raw_input("Which function to execute? 1: max_range, 2: max_height")
if operation == 1:
max_range(u, angle)
elif operation == 2:
max_height(u, angle)
else:
print('Invalid choice')
if __name__ == '__main__':
main()
对于两个选项,如果。。。else。我从来都不理解某些反对票。OP告知他是一个完全的新手,展示他/她尝试了什么,并询问如何将这两个代码组合在一起。在我看来,这是一个非常有效的问题,即使它是非常基本的。我做到了。我创建了另一个有1个参数的函数,用户可以输入它。如果用户选择“范围”,则应返回范围函数。如果用户选择“高度”,则应返回高度功能。这不起作用,因为它运行了所有3个函数。