Создание базового c меню в Python - PullRequest
0 голосов
/ 08 июля 2020
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()

Я пытаюсь создать простое меню, которое либо дает пользователю один из инструкций по выходу, если он вводит одну из трех букв. Поэтому, если бы я набрал букву «а», меня попросили бы ввести радиус круга, а затем получить площадь взамен. Надеюсь, это имеет смысл.

Однако, когда я пытаюсь протестировать это меню, мне говорят, что ни одна из букв не определена, поэтому я немного смущен, почему это не работает.

1 Ответ

0 голосов
/ 08 июля 2020

Вы очень близки, только пара вещей сбивает вашу программу с рельсов.

Во-первых: поскольку вы создали функции, вам не нужно импортировать мод «круг». Откуда это взялось? Вы пытаетесь определить объект класса или модуль?

Второе: ваши функции должны быть определены в программе ДО того, как они будут вызваны. Вы поместили их после, что вызывало ошибки.

Третье: вы забыли установить l oop на False при вводе «c». Если этого не будет, то l oop никогда не закончится.

Надеюсь, это поможет!

def area(radius):
    return pi * radius**2


def circumference(radius):
    return 2 * pi * radius

#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(area(radius))
        elif choice=="b":
                radius = float(input ("Input the radius of the circle : "))
                print(circumference(radius))
        else:
                print("Goodbye!")
                loop = False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...