조건문 반복문 동시 사용

조건문 반복문 동시 사용

QA

조건문 반복문 동시 사용

본문

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

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

3. A 선택

4. 금액을 넣는다

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

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

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

 

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

이 질문에 댓글 쓰기 :

답변 1

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


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()

 

답변을 작성하시기 전에 로그인 해주세요.
전체 209
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT