Tạo một máy tính dựa trên menu trong Python

Trong bài học này, tôi sẽ hướng dẫn bạn cách tạo một máy tính đơn giản bằng Ngôn ngữ lập trình Python. Trăn 3. 6 được sử dụng trong hướng dẫn này, nhưng chương trình cũng sẽ hoạt động với các phiên bản khác của python

Tạo một máy tính dựa trên menu trong Python

Một lời giải thích ngắn gọn
Chương trình có bốn chức năng. Cộng, trừ, nhân và chia. Mỗi hàm nhận hai tham số, a và b đại diện cho hai số được ước tính
Chương trình bắt đầu bằng cách hiển thị một menu gồm bốn mục, với các số đại diện cho từng mục
1 cho Thêm
2 để trừ
3 cho Nhân
4 để chia

Người dùng được nhắc chọn từ bốn thao tác. Lựa chọn của người dùng được lưu trữ trong một biến gọi là hoạt động. Tiếp theo, người dùng được nhắc nhập số thứ nhất và số thứ hai
Dựa trên sự lựa chọn hoạt động của người dùng, chức năng thích hợp được gọi là
Kết quả của thao tác được hiển thị trên đầu ra bằng chức năng in

Bạn có thể tìm thấy mã dưới đây. Hãy sao chép và sử dụng

 import sys  
#****************************************************************************************
#PROGRAM BY: KINDSON THE GENIUS *
#SECTION: PYTHON TUTORIALS *
#DATE: 1ST JANUARY 2018 *
#QUESTION No. YOUR FIRST PROGRAM IN 2018 *
#****************************************************************************************

print("n*** PROGRAM TO CREATE SIMPLE MENU-BASED CALCULATOR ******nn")


# THE add FUNCTION TO PERFORM ADDITION OF TWO NUMBERS
def add(a, b):
return a + b


# THE subtract FUNCTION TO PERFORM SUBTRACTION FOR TWO NUMBERS
def subtract(a, b):
return a - b


# THE multiply FUNCTION TO PERFORM MULTIPLICATION OF TWO NUMBERS
def multiply(a, b):
return a * b

# THE DIVIDE FUNCTION TO PEFORM DIVISION FOR TWO NUMBERS
def divide(a, b):
return a / b

#DISPLAY THE MENU
print("CHOOSE AN OPERATION. ")
print("1. ADD")
print("2. SUBTRACT")
print("3. MULTIPLY")
print("4. DIVIDE")
print("5. EXIT")

#GET USER INPUT
operator = input("Select an operation (1,2,3,4,5): ")

#EXIT THE PROGRAM IF THE INPUT IS 5
if operator == '5':
sys.exit()

number1 = int(input("Enter first number:"))
number2 = int(input("Enter second number:"))

#CONVERT THE INPUTS TO INTEGER
number1 = int(number1)
number2 = int(number2)

if operator == '1':
result = add(number1,number2)
print(number1,"+",number2,"=", result)

elif operator == '2':
result = subtract(number1,number2)
print(number1,"-",number2,"=", result)

elif operator == '3':
result = multiply(number1,number2)
print(number1,"*",number2,"=", result)

elif operator == '4':
result = add(number1,number2)
print(number1,"/",number2,"=", result)

else:
print("Invalid input")



Làm thế nào để chạy

  • Mở IDE nhàn rỗi Python
  • Nhấp vào Tệp> Tệp mới
  • Sao chép và dán chương trình
  • Lưu tệp với tên
  • Nhấp vào Chạy> Chạy mô-đun

Các chương trình điều khiển bằng menu là các chương trình tương tác lấy đầu vào từ người dùng và thực hiện các hành động theo lựa chọn của họ. Trong khi làm cho các ứng dụng dễ sử dụng, các chương trình điều khiển bằng menu cũng làm cho chúng trở nên rõ ràng bằng cách đưa ra các lựa chọn cố định cho người dùng

Với cách tiếp cận này, người dùng có thể chọn một thao tác từ menu và cung cấp thông tin đầu vào khi cần. Chương trình hoạt động theo đầu vào được lấy từ người dùng. Tất cả dữ liệu cần thiết để hoàn thành nhiệm vụ được lấy từ người dùng. Thực hiện một số chương trình điều khiển menu có sẵn trong bài viết này

Phạm vi

  • Bài viết này giải thích ngắn gọn về phương pháp lập trình hướng menu
  • Các trường hợp sử dụng của các chương trình điều khiển bằng menu được thảo luận cùng với các ưu điểm
  • Trong khi triển khai các ví dụ về cú pháp tiếp cận lập trình hướng menu và các vòng lặp trong python cũng được giải thích

Chương trình điều khiển bằng menu là một phương pháp lập trình hiển thị danh sách các hoạt động mà mã có thể thực hiện và yêu cầu người dùng chọn một trong số chúng

Người dùng có thể tương tác với Hệ điều hành trong khi thực thi mã thông qua GUI (giao diện người dùng đồ họa) hoặc CLI (Giao diện dòng lệnh)

Tạo một máy tính dựa trên menu trong Python

Hình ảnh trên hiển thị đầu ra của chương trình điều khiển bằng menu được thiết kế cho một cửa hàng mua sắm. Chương trình xử lý các thông tin liên quan đến sản phẩm cho cửa hàng đó. Giao diện dòng lệnh tương tác hiển thị danh sách các hoạt động mà chương trình có thể được sử dụng và nhắc người dùng chọn một đầu vào và việc thực thi tiếp theo sẽ dựa trên đầu vào. Chúng tôi sẽ tạo một chương trình tương tự như chương trình được hiển thị trong hình trên trong bài viết này

Chúng ta có thể thấy nhiều ứng dụng của phương pháp lập trình dựa trên Menu trong cuộc sống hàng ngày của chúng ta. Các thiết bị điều khiển bằng vi xử lý như máy giặt, lò vi sóng, v.v. có các hệ thống tuân theo cùng một cách tiếp cận. Máy ATM (Máy rút tiền tự động) và máy bán hàng tự động cũng sử dụng phương pháp lập trình theo trình đơn. Nhiều hệ thống phần mềm cũng tuân theo cách tiếp cận tương tự để triển khai các chức năng của chúng. Tất cả các hệ thống này lấy đầu vào từ người dùng từ các lần nhấn phím duy nhất và thực hiện các hành động tương ứng

Hãy xem trường hợp ATM, người dùng nhận được một danh sách các tùy chọn mà anh ta có thể thực hiện. Anh ấy chọn một trong số chúng như truy vấn số dư hoặc rút tiền mặt và với một số lần nhấn phím, anh ấy sẽ nhận được tiền mặt

Hệ thống điều khiển bằng menu làm cho nó tương tác hơn nhiều và các tùy chọn hạn chế được cung cấp giúp chúng trở nên chính xác. Đầu vào được lấy từ người dùng trong một lần nhấn phím giúp giảm khả năng xảy ra lỗi

Trong bài viết này, chúng ta sẽ xem một số ví dụ về cách chúng ta có thể triển khai các chương trình điều khiển bằng menu

  • Các chương trình điều khiển bằng menu có giao diện đơn giản, thân thiện với người dùng và tương tác
  • Đây là những điều dễ hiểu và người dùng có thể dễ dàng vận hành hệ thống
  • Các hệ thống điều khiển bằng menu ít bị lỗi hơn vì chúng có các tùy chọn hạn chế và người dùng đưa ra thông tin đầu vào bằng một lần nhấn phím
  • Phương pháp lập trình là tốt nhất cho người mới bắt đầu

Tính Chu Vi Và Diện Tích Các Hình Hình Học

Hãy viết chương trình điều khiển bằng menu để tính diện tích và chu vi của các hình dạng hình học khác nhau như hình tròn, hình tam giác, hình chữ nhật và hình vuông. Tại đây, chúng ta sẽ nhận được một menu trên dấu nhắc lệnh sẽ hiển thị các hình dạng và phép tính mà người dùng có thể thực hiện bằng mã. Chương trình sẽ hỏi người dùng về sự lựa chọn của họ, và các đầu vào cần thiết và in đầu ra tương ứng

Ở đây, để hiển thị menu liên tục và khiến người dùng tương tác với hệ thống, chúng tôi sẽ sử dụng vòng lặp while trong python và để chuyển sang vòng lặp theo đầu vào của người dùng các vòng lặp if-elif-else lồng nhau

  • Để hiểu cách thức hoạt động của vòng lặp while trong Python, hãy đọc bài viết sau - Click Here

  • Trong bài viết sau, bạn sẽ tìm hiểu thêm về vòng lặp if-elif-else trong Python - Click Here

Bây giờ, hãy xem một chương trình đo đơn giản tính diện tích và chu vi của các hình dạng hình học khác nhau

Chương trình

#Menu driven program to calculate perimeter and area of different shapes

#Declaring all the required functions with the calculations of perimeter of different shapes
def per_circle(radius):
    perimeter = 2 * 3.14 * radius
    print("Perimeter of Circle: ", perimeter)

def per_triangle(side1, side2, side3):
    perimeter = side1 + side2 + side3
    print("Perimeter of Triangle: ", perimeter)

def per_rectangle(height, width):
    perimeter = 2 * (height + width)
    print("Perimeter of Rectangle: ", perimeter)

def per_square(side):
    perimeter = 4 * side
    print("Perimeter of Square: ", perimeter)

#Declaring all the required functions with the calculations of area of different shapes
def a_circle(radius):
    area = 3.14 * radius * radius
    print("Area of Circle: ", area)

def a_triangle(base, height):
    area = base * height / 2
    print("Area of Triangle: ", area)

def a_rectangle(height, width):
    area = height * width
    print("Area of Rectangle: ", area)

def a_square(side):
    area = side * side
    print("Area of Square: ", area)
    
#Heading of menu-driven approach
print("\nWELCOME TO MENSURATION PROGRAM! TRY CALCULATING PERIMETER AND AREA OF DIFFERENT GEOMETRIC SHAPES.")

#using the while loop to print menu list
while True:
    print("\nMENU")
    print("1. Circle")
    print("2. Triangle")
    print("3. Rectangle")
    print("4. Square")
    print("5. Exit")
    shape_choice = int(input("\nEnter your choice of shape for calculations: "))
    
    if shape_choice == 1:
        while True:
            print("\n1. Calculate perimeter of Circle")
            print("2. Calculate area of Circle")
            print("3. Exit")
            choice1 = int(input("\nEnter choice for calculations: "))
            #Calling the relevant method based on users choice using if-else loop
            if choice1 == 1:
                radius = int(input("Enter Radius of Circle: "))
                per_circle(radius)
            elif choice1 == 2:
                radius = int(input("Enter Radius of Circle: "))
                a_circle(radius)
            elif choice1 == 3:
                break
            else:
                print("Incorrect Choice!")
    
    elif shape_choice == 2:
        while True:
            print("\n1. Calculate perimeter of Triangle")
            print("2. Calculate area of Triangle")
            print("3. Exit")
            choice1 = int(input("\nEnter choice for calculations: "))
            if choice1 == 1:
                side1 = int(input("Enter length of side1: "))
                side2 = int(input("Enter length of side2: "))
                side3 = int(input("Enter length of side3: "))
                per_triangle(side1,side2,side3)
            elif choice1 == 2:
                base = int(input("Enter base of traingle: "))
                height = int(input("Enter height of traingle: "))
                a_triangle(base, height)
            elif choice1 == 3:
                break
            else:
                print("Incorrect Choice!")
        
    elif shape_choice == 3:
        while True:    
            print("\n1. Calculate perimeter of Rectangle")
            print("2. Calculate area of Rectangle")
            print("3. Exit")
            choice1 = int(input("\nEnter choice for calculations: "))
            if choice1 == 1:
                height = int(input("Enter height of rectangle: "))
                width = int(input("Enter width of rectangle: "))
                per_rectangle(height,width)
            elif choice1 == 2:
                height = int(input("Enter height of rectangle: "))
                width = int(input("Enter width of rectangle: "))
                a_rectangle(height,width)
            elif choice1 == 3:
                break
            else:
                print("Incorrect Choice!")
    
    elif shape_choice == 4:
        while True:
            print("\n1. Calculate perimeter of Square")
            print("2. Calculate area of Square")
            print("3. Exit")
            choice1 = int(input("\nEnter choice for calculations: "))
            if choice1 == 1:
                side = int(input("Enter side of square: "))
                per_square(side)
            elif choice1 == 2:
                side = int(input("Enter side of square: "))
                a_square(side)
            elif choice1 == 3:
                break
            else:
                print("Incorrect Choice!")
                
    #exit condition to get out of the while loop
    elif shape_choice == 5:
        print("Thank You! See you again.")
        break
    
    else:
        print("Incorrect Choice. Please, try again.")

đầu ra

Ở đây, tôi đã tính chu vi và diện tích của hình chữ nhật bằng đoạn mã trên. Bạn có thể chọn bất kỳ tùy chọn nào khác có sẵn từ menu

WELCOME TO MENSURATION PROGRAM! TRY CALCULATING PERIMETER AND AREA OF DIFFERENT GEOMETRIC SHAPES.
MENU
1. Circle
2. Triangle
3. Rectangle
4. Square
5. Exit

Enter your choice of shape for calculations: 3
1. Calculate perimeter of Rectangle
2. Calculate area of Rectangle
3. Exit

Enter choice for calculations: 1
Enter height of rectangle: 2
Enter width of rectangle: 8
Perimeter of Rectangle:  20

1. Calculate perimeter of Rectangle
2. Calculate area of Rectangle
3. Exit

Enter choice for calculations: 2
Enter height of rectangle: 30
Enter width of rectangle: 20
Area of Rectangle:  600

1. Calculate perimeter of Rectangle
2. Calculate area of Rectangle
3. Exit

Enter choice for calculations: 3
MENU
1. Circle
2. Triangle
3. Rectangle
4. Square
5. Exit
Enter your choice of shape for calculations: 5
Thank You! See you again.

Trong đoạn mã trên, các phương thức được định nghĩa lấy các đối số cần thiết và tính chu vi và diện tích của các hình đã chỉ định. Ví dụ: phương thức per_circle lấy bán kính của hình tròn làm đối số và tính chu vi của hình tròn bằng công thức toán học

def per_circle(radius):
    perimeter = 2 * 3.14 * radius
    print("Perimeter of Circle: ", perimeter)

Tương tự như per_circle, một số phương thức được xác định trả về chu vi và diện tích có hình dạng khác nhau

trong khi vòng lặp True được sử dụng cho các lần lặp vô hạn, nó sẽ hiển thị menu lặp đi lặp lại và người dùng có thể chọn các thao tác mà họ có thể thực hiện. Vòng lặp while hiển thị menu có hình dạng khác nhau và nhận đầu vào từ người dùng trong biến shape_choice

Theo đầu vào từ người dùng trong biến shape_choice, mã thực thi các khối điều kiện if-elif-else có liên quan

Khi thực thi nhập vào bất kỳ một trong các điều kiện if_elif, một menu khác sẽ được hiển thị trong đó người dùng được yêu cầu chọn nếu họ muốn tính diện tích hoặc chu vi của hình đã chọn

Sau khi nhận được đầu vào từ người dùng trong mã lựa chọn biến1 sẽ lấy các đối số cần thiết để tính toán từ người dùng. Phương thức thích hợp được gọi và kết quả được trao cho người dùng

Đây là một vòng lặp vô tận, nếu người dùng muốn dừng thực thi và thoát khỏi vòng lặp thì phải nhập tùy chọn Thoát trong menu

Điều kiện thoát được xử lý trong vòng lặp khác trong đó câu lệnh ngắt được sử dụng để kết thúc việc thực hiện vòng lặp

Hãy xem thêm một ví dụ đơn giản về chương trình điều khiển bằng menu mà chúng ta sử dụng trong cuộc sống hàng ngày. Máy tính lấy các đầu vào khác nhau từ người dùng và thực hiện các phép tính số học

Trong mã này của Máy tính, chúng tôi sẽ sử dụng phương pháp lập trình theo hướng menu hiển thị các hoạt động mà mã có thể thực hiện. Chọn một trong các thao tác này, cung cấp thông tin đầu vào và nhận kết quả tương ứng

Chương trình

# Menu Driven Program to create a simple calculator

#Declaring all the required functions

#function for addition of two numbers
def addition(a, b):
    sum = a + b
    print(a, "+", b, "=", sum)
    
#function for subtraction of two numbers
def subtraction(a, b):
    difference = a - b
    print(a, "-", b, "=", difference)
#function for multiplication of two numbers
def multiplication(a, b):
    product = a * b
    print(a, "*", b, "=", product)
    
#function for division of two numbers
def divide(a, b):
    quotient = a / b
    remainder = a % b
    print("Quotient of", a, "/", b, "=", quotient)
    print("Remainder of", a, "%", b, "=", remainder)

#Heading of menu-driven approach
print("WELCOME TO CALCULATOR")

#using the while loop to print menu list
while True:
    print("\nChoose the operation to perform:")
    print("1. Addition of two numbers")
    print("2. Subtraction of two numbers")
    print("3. Multiplication of two numbers")
    print("4. Division of two numbers")
    print("5. Exit")
    
    choice = int(input("\nEnter your Choice: "))
    
    #Calling the relevant method based on users choice using if-else loop
    if choice == 1:
        print("\nAddition of two numbers")
        a = int(input("Enter the first number: "))
        b = int(input("Enter the second number: "))
        addition(a,b)
        
    elif choice == 2:
        print("\nSubtraction of two numbers")
        a = int(input("Enter the first number: "))
        b = int(input("Enter the second number: "))
        subtraction(a,b)
        
    elif choice == 3:
        print("\nMultiplication of two numbers")
        a = int(input("Enter the first number: "))
        b = int(input("Enter the second number: "))
        multiplication(a,b)
        
    elif choice == 4:
        print("\nDivision of two numbers")
        a = int(input("Enter the first number: "))
        b = int(input("Enter the second number: "))
        divide(a,b)
    
    #exit condition to get out of the while loop
    elif choice == 5:
        print("Thank You! See you again.")
        break
    
    else:
        print("Invalid Input! Please, try again.")

đầu ra

WELCOME TO CALCULATOR

Choose the operation to perform:
1. Addition of two numbers
2. Subtraction of two numbers
3. Multiplication of two numbers
4. Division of two numbers
5. Exit
Enter your Choice: 1
Addition of two numbers
Enter the first number: 76870
Enter the second number: 324
76870 + 324 = 77194

Choose the operation to perform:
1. Addition of two numbers
2. Subtraction of two numbers
3. Multiplication of two numbers
4. Division of two numbers
5. Exit

Enter your Choice: 2
Subtraction of two numbers
Enter the first number: 3434
Enter the second number: 23455
3434 - 23455 = -20021

Choose the operation to perform:
1. Addition of two numbers
2. Subtraction of two numbers
3. Multiplication of two numbers
4. Division of two numbers
5. Exit

Enter your Choice: 3
Multiplication of two numbers
Enter the first number: 23545
Enter the second number: 0
23545 * 0 = 0

Choose the operation to perform:
1. Addition of two numbers
2. Subtraction of two numbers
3. Multiplication of two numbers
4. Division of two numbers
5. Exit

Enter your Choice: 4
Division of two numbers
Enter the first number: 9876215
Enter the second number: 5
Quotient of 9876215 / 5 = 1975243.0
Remainder of 9876215 % 5 = 0

Choose the operation to perform:
1. Addition of two numbers
2. Subtraction of two numbers
3. Multiplication of two numbers
4. Division of two numbers
5. Exit

Enter your Choice: 5
Thank You! See you again. 

Trong đoạn mã trên, chúng tôi đã hiển thị một menu các thao tác mà máy tính có thể thực hiện. Các phương thức được định nghĩa để thực hiện tính toán và hiển thị kết quả

trong khi vòng lặp True được sử dụng để lặp vô hạn và vòng lặp if-elif-else được sử dụng để ra quyết định thực thi theo lựa chọn của người dùng. câu lệnh break được sử dụng để kết thúc việc thực hiện vòng lặp while trong điều kiện khác cuối cùng

Hãy xem bài viết này về Chương trình Máy tính trong Python để tìm hiểu thêm về cách xây dựng một máy tính từ đầu

Làm cách nào để tạo máy tính GUI trong Python?

Python cung cấp nhiều tùy chọn để phát triển GUI (Giao diện người dùng đồ họa). Trong số tất cả các phương pháp GUI, Tkinter là phương pháp được sử dụng phổ biến nhất. .
Nhập mô-đun – tkinter
Tạo cửa sổ chính (vùng chứa)
Thêm bất kỳ số lượng vật dụng nào vào cửa sổ chính
Áp dụng Trình kích hoạt sự kiện trên các vật dụng

Làm cách nào để viết chương trình điều khiển menu để tính diện tích hình tròn trong Python?

Câu trả lời được chuyên gia xác minh .
Ngôn ngữ được sử dụng
vòng tròn chắc chắn()
def vuông()
def hình chữ nhật()
print("Menu-\n"
"1. Vòng tròn\n"
"2. Vuông\n"
"3. Hình chữ nhật\n")