Method 1: OptionMenu
The first method is to use OptionMenu from tkinter. You will have to create a list containing all your desired options. Then you need to have a variable that holds the information regarding which button is currently selected.
Useful resource: How can I create a dropdown menu from a List in Tkinter?
Sample code:
from tkinter import *
root = Tk()
root.geometry("300x300")
OPTIONS = [
"Option 1",
"Option 2",
"Option 3"
] #etc
variable = StringVar()
variable.set(OPTIONS[0]) # default value
w = OptionMenu(root, variable, *OPTIONS)
w.pack()
root.mainloop()
Output:

Method 2: Radiobutton
You can use Radiobutton in tkinter to have options.
The arguments that you need to pass in are the window which is root, the text to be displayed in the option button, a shared variable which holds the information regarding which button is currently selected, and unique value to distinguish this radio button.
Note: each radio button should have a different unique value otherwise more than one radio button will get selected.
Parameters to be passed in:
button = Radiobutton(root, text="Name on Button", variable = “shared variable”, value = “values of each button”)
Useful resources regarding Radiobutton -
- Radio button values in Python Tkinter
- https://www.geeksforgeeks.org/radiobutton-in-tkinter-python/#:~:text=The%20Radiobutton%20is%20a%20standard,calls%20that%20function%20or%20method.
Sample code:
from tkinter import *
import tkinter as tk
root = Tk()
root.geometry("300x300")
payment_method_label=Label(root, text="Select Payment Method:")
payment_method = StringVar()
payment_method.set("card")
cards = Radiobutton(root, text="Debit/Credit Card", variable=payment_method, value="card").pack(anchor=tk.W)
wallet = Radiobutton(root, text="Payment Wallet", variable=payment_method, value="wallet").pack(anchor=tk.W)
netbanking = Radiobutton(root, text="Net Banking", variable=payment_method, value="net banking").pack(anchor=tk.W)
root.mainloop()
Output:
