Python 代码未 运行 输入(可能与菜单相关)
Python code not running input (Possibly menu related)
import circle
pi = 3.1415
def main():
area(radius)
circumference(radius)
def menu():
print("Type a for area of circle")
print("Type b for circumference of a circle")
print("Type c to END PROGRAM")
loop=True
while loop:
menu()
choice = input('Please enter your choice: ')
if choice== "a":
radius = float(input ("Input the radius of the circle : "))
print(circle.area(radius))
elif choice== "b":
radius = float(input ("Input the radius of the circle : "))
print(circle.circumference(radius))
else:
print("Goodbye!")
def area(radius):
return pi * radius**2
def circumference(radius):
return 2 * pi * radius
main()
在我的最后一个问题中,我在菜单上收到了帮助(现在可以使用了!)但是,当我输入半径时,我收到错误消息:
AttributeError:部分初始化的模块 'circle' 没有属性 'area'(很可能是由于循环导入)
杀死 import circle
行。将 circle.area
更改为 area
,将 circle.circumference
更改为 circumference
。将 area
和 circumference
函数的定义移动到顶部,以便在使用它们之前定义它们。最后杀死 main()
行。阅读 https://docs.python.org/3/tutorial/index.html 而不是键入您不理解的魔法并希望它们能以某种方式起作用:)
我对您的代码进行了一些更改,它应该可以正常工作。如果您有任何问题,请告诉我!
基本上去掉import,去掉main()函数,把area()和circumference()移到最上面
pi = 3.1415
# function to print the menu options
def menu():
print("Type a for area of ")
print("Type b for circumference of a circle")
print("Type c to END PROGRAM")
# function to calculate area
def area(radius):
return pi * radius**2
# function to calculate circumference
def circumference(radius):
return 2 * pi * radius
# menu loop
while True:
# display menu
menu()
# prompt for user's choice
choice = input('Please enter your choice: ')
if choice == "a":
radius = float(input("Input the radius of the circle : "))
print(area(radius))
elif choice == "b":
radius = float(input("Input the radius of the circle : "))
print(circumference(radius))
else:
print("Goodbye!")
break
import circle
pi = 3.1415
def main():
area(radius)
circumference(radius)
def menu():
print("Type a for area of circle")
print("Type b for circumference of a circle")
print("Type c to END PROGRAM")
loop=True
while loop:
menu()
choice = input('Please enter your choice: ')
if choice== "a":
radius = float(input ("Input the radius of the circle : "))
print(circle.area(radius))
elif choice== "b":
radius = float(input ("Input the radius of the circle : "))
print(circle.circumference(radius))
else:
print("Goodbye!")
def area(radius):
return pi * radius**2
def circumference(radius):
return 2 * pi * radius
main()
在我的最后一个问题中,我在菜单上收到了帮助(现在可以使用了!)但是,当我输入半径时,我收到错误消息:
AttributeError:部分初始化的模块 'circle' 没有属性 'area'(很可能是由于循环导入)
杀死 import circle
行。将 circle.area
更改为 area
,将 circle.circumference
更改为 circumference
。将 area
和 circumference
函数的定义移动到顶部,以便在使用它们之前定义它们。最后杀死 main()
行。阅读 https://docs.python.org/3/tutorial/index.html 而不是键入您不理解的魔法并希望它们能以某种方式起作用:)
我对您的代码进行了一些更改,它应该可以正常工作。如果您有任何问题,请告诉我!
基本上去掉import,去掉main()函数,把area()和circumference()移到最上面
pi = 3.1415
# function to print the menu options
def menu():
print("Type a for area of ")
print("Type b for circumference of a circle")
print("Type c to END PROGRAM")
# function to calculate area
def area(radius):
return pi * radius**2
# function to calculate circumference
def circumference(radius):
return 2 * pi * radius
# menu loop
while True:
# display menu
menu()
# prompt for user's choice
choice = input('Please enter your choice: ')
if choice == "a":
radius = float(input("Input the radius of the circle : "))
print(area(radius))
elif choice == "b":
radius = float(input("Input the radius of the circle : "))
print(circumference(radius))
else:
print("Goodbye!")
break