조건문 반복문 동시 사용

2020-12-02 (수) 23:59:31 4,120

1. list=["A사이다 800원", "B콜라 1000원",]

2. x=input("무엇을 드시겠습니까: ")

3. A 선택

4. 금액을 넣는다

5. 돈이 부족하면 부족한 잔액 계산해서 "잔액이 ~~ 부족합니다"라는 구절과 2번으로 돌아간다. 

6. 돈이 딱 맞으면 "맛있게 드십시오."

7. 돈이 많으면 많은만큼 계산해서 "거스름돈은 ~~원입니다. 맛있게 드십시오."

라는 파이썬을 어떻게 짜야할까요....?

|

답변 1개

부족한 실력으로 한번 짜보았습니다.

Copy
from tkinter import *

# from tkinter.ttk import *

from tkinter import messagebox

import tkinter

 

window=tkinter.Tk()

window.title("python window")

window.resizable(True, True)

selected = IntVar()

window.geometry("500x300")

radio_selected = ""

labelframe2 = LabelFrame(window, text="")

drinkCheck = 0

def check():

    global drinkCheck

    radio_selected = RadioVariety_1.get()

    if radio_selected =="A사이다는 800원":

        label.config(text="A 사이다를 드시겠습니까.")

        drinkCheck = 1

    if radio_selected =="B사이다는 1000원":

        label.config(text="B 사이다를 드시겠습니까.")

        drinkCheck = 2

    

    

labelframe=tkinter.LabelFrame(window, text="무엇을 드시겠습니까 %s" % drinkCheck, padx=10, pady=10, width = 900)

labelframe.pack(padx=10, pady=10)

 

RadioVariety_1=tkinter.StringVar()

RadioVariety_1.set("미선택")

 

drinkList = ["A사이다는 800원", "B사이다는 1000원"]

for sel in drinkList:

    aButton = tkinter.Radiobutton(labelframe, text=sel, value=sel, variable=RadioVariety_1, command=check)

    aButton.pack()

label=tkinter.Label(labelframe, text="")

label.pack()

 

def CallBack(): # 함수

    if(name.get() == ""):

        msg = messagebox.showinfo( "", " 금액을 입력하세요 ")

        return

    if drinkCheck == 1:

        payVal = int(name.get()) - 800

        if payVal == 0:

            msg = messagebox.showinfo( "", " 맛있게 드십시오 ")

        if payVal > 0:

            msg = messagebox.showinfo( "", "거스름돈은 %s 입니다. 맛있게 드십시오 " % payVal)

        if payVal < 0:

            msg = messagebox.showinfo( "", "잔액이 부족합니다. ")

    if drinkCheck == 2:

        payVal = int(name.get()) - 1000

        if payVal == 0:

            msg = messagebox.showinfo( "", " 맛있게 드십시오 ")

        if payVal > 0:

            msg = messagebox.showinfo( "", "거스름돈은 %s 입니다. 맛있게 드십시오 " % payVal)

        if payVal < 0:

            msg = messagebox.showinfo( "", "잔액이 부족합니다. ")

    if drinkCheck == 0:

        msg = messagebox.showinfo( "", "음료를 선택하세요 %s" % drinkCheck)

 

name = Entry(labelframe2)

name.grid(column=1, row=0)

labelframe2.pack(fill="both", expand = "yes")

left = Label(labelframe2, text="금액을 입력하세요")

left.grid(column=0, row=0)

B = Button(labelframe2, text = "확인", command = CallBack, bg="orange", fg="red", activebackground="blue")

B.grid(column=3, row=0)

 

window.mainloop()

답변을 작성하려면 로그인이 필요합니다.