Make_Triangle

#make_triangle_code

# 함수로 삼각형을 생성할수있게하기

#출력예시:
#        *
#       * *
#      * * *
#     * * * *
#    * * * * *

def make_triangle(dex = '* * * * *'):
    list_print = []
    dex = dex.strip()
    indexs_txt = int(dex.count('*'))
    indexs_Blank = int(dex.count(' '))
    blank = indexs_Blank / (indexs_txt - 1)
    for i in range(indexs_txt):
        list_print.append(dex.replace('*'.format(blank), '', i))
    for i in range(indexs_txt, 0, -1):
        print(list_print[i -1])
    return None
    
make_triangle((int(input("number:"))) * '* ')

Chunk_Code

lists = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]         
                      #코드 설명: sample1은 임시저장 변수 sample_good은 최종 
                      #반출변수 사용자 가 입력한수(num)에 따라 리스트를 분배하는 코드
def chunk1(idx, num): #Chunk1함수 설명: 원하는 값의 길이로 쪼개주며 남는 수는 따로 리스트로 혼자 리스트에 추가한다.
    count = 0         #idx는 리스트 num은 원하는 값을 넣어 호출하면 된다.
    sample1 = []
    sample_return = []
    for i in range(0,len(idx)-1,num):
        sample1.clear()
        try:
            for y in range(num):
                sample1.append(idx[count])
                count += 1
            sample_return.append(list(sample1))
        except:
              sample_return.append(list(sample1))
        #print(sample_good1)
    if sample1[-1] == idx[-1]:    
        return sample_return
    else:
        sample1.clear()
        sample1.append(idx[-1])
        sample_return.append(list(sample1))
        return sample_return
   # print(sample_good1)
#print(chunk2(lists,3))

def chunk2(idx, num):   #Chunk2함수 설명: 원하는 값의 배수의 길이로 점점 커지게 나누어 반출한다.
    count = 0           #idx는 리스트 num은 num의 배수로 뛰어출력을 시킬 원하는 값을 넣어 호출하면 된다.
    sample1 = []
    sample_good1 = []
    num2 = 1
    num3 = num
    num4 = 2
    for i in range(num,len(idx)-1,num):
        sample1.clear()
        for y in range(num3):
            sample1.append(idx[count])
            count += 1
            if count == idx[len(idx)-1]:
                if sample1[-1] == idx[-1]:
                    sample_good1.append(list(sample1))
                    return sample_good1
                else:
                    sample1.clear()
                    sample1.append(idx[-1])
                    sample_good1.append(list(sample1))
                    return sample_good1
            if count == num*num2:
                num2 = num2+num4
                num3 = num3+num
                num4 += 1   
        #print(sample_good1)
        sample_good1.append(list(sample1))

print(chunk1(lists,int(input('index:'))))
print(chunk2(lists,int(input('index:'))))

ticket_price

def ticket_price(lists):
    return_list = [[],[],[],[],[],[],[],[]]
    price = 1000
    total = 0
    totals = ('{}원'.format(len(lists)*1000))
    for i in range(len(lists)):
        if lists[i] < 14:
            if lists[i] < 4:
                return_list[0].append(price*0) #영유아
                return_list[4].append(f'{lists[i]}세')
            else:
                return_list[1].append(price*0.5) #어린이 
                return_list[5].append(f'{lists[i]}세')  
        else:
            if lists[i] > 20:
                return_list[2].append(price) #성인
                return_list[6].append(f'{lists[i]}세')
            else:
                return_list[3].append(price*0.25) #청소년
                return_list[7].append(f'{lists[i]}세')
    for f in range(3):
        for h in range(len(return_list[f])-1):
            total += return_list[f][h]
    total = ('{0}원'.format(int(total)))
    sale = ('{}%'.format((len(return_list[4])*100) + (len(return_list[5])*50) + (len(return_list[7])*25)))
        
    print('\033[32m'+f'영수증\n 영유아: {return_list[4]}\n 어린이: {return_list[5]}\n 청소년: {return_list[7]}\n 성인: {return_list[6]}\n원가: {totals}\n  할인율: {sale}\n  총가격: {total}'+'\033[0m')

listsss = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]
listss = [13,53,6,1,24,6,2,35,1,24,7,42,45,12,43,17,134,19,14]

ticket_price(listss)

Bus_Ticket_Price

from datetime import datetime
save_list_main = []
def ticket_price_tools(lists):
    global save_list_main
    return_list = {'원가':0,'할인율':0,'총가격':0}
    save_list = {'영유아':,'어린이':[],'청소년':[],'성인':[]}
    price = 1000
    now_time = str(datetime.now())
    for i in range(len(lists)):
        if lists[i] < 14:
            if lists[i] < 4:
                save_list['영유아'].append({'나이':f'{lists[i]}세','원가':price,'할인율':100,'총가격':price*0}) #영유아
            else:
                save_list['어린이'].append({'나이':f'{lists[i]}세','원가':price,'할인율':50,'총가격':price*0.5}) #어린이 
        else:
            if lists[i] > 20:
                save_list['성인'].append({'나이':f'{lists[i]}세','원가':price,'할인율':0,'총가격':price}) #성인
            else:
                save_list['청소년'].append({'나이':f'{lists[i]}세','원가':price,'할인율':25,'총가격':price*0.75}) # 청소년
    for typess in ['영유아','어린이','청소년','성인']:  #return_list변수 추가코드
        for totals in ['원가','할인율','총가격']:
            #print(return_list[totals])
            for num in range(len(save_list[typess])-1):
                print(totals)
                print(typess)
                print(return_list)
                return_list[totals] += int(save_list[typess][num][totals])
    for return_list_idx in return_list:  #단위추가코드
        if return_list_idx == '할인율':
            return_list[return_list_idx] = '{}%'.format(int(return_list[return_list_idx]))
        else:
            return_list[return_list_idx] = '{}원'.format(int(return_list[return_list_idx]))
    save_list_main.append({now_time:{'승객수':['영유아: {}명'.format(len(save_list['영유아'])),'어린이: {}명'.format(len(save_list['어린이'])),'청소년: {}명'.format(len(save_list['청소년'])),'성인: {}명'.format(len(save_list['성인']))],'세부정보':save_list,'가격정보':return_list}})
    print('\033[32m'+'\n영수증\n 영유아: {}\n 어린이: {}\n 청소년: {}\n 성인: {}\n원가: {}\n할인율: {}\n총가격: {}\n\n조회번호/시간:'.format('{}명'.format(len(save_list['영유아'])),'{}명'.format(len(save_list['어린이'])),'{}명'.format(len(save_list['청소년'])),'{}명'.format(len(save_list['성인'])),return_list['원가'],return_list['할인율'],return_list['총가격']),now_time+'\033[0m')
    return None
True_False = True
def main_tools():
    indexs = []
    global True_False
    while True_False:
        try:
            indexs.append(int(input("\n만나이입력(모든나이를 입력하면 공백을 입력해주세요.):")))
        except:
            ticket_price_tools(indexs)
            True_False = False
            return None
while True_False:
  main_tools()

Bus_Ticket_Price_Dictionary

#형태: 영유아,어린이.청소년,성인 각각 가격을 저장함 
from datetime import datetime
#import pymysql
#con = pymysql.connect(host='', user='root', password='', db='mysql', charset='utf8')
save_list_main = []


def ticket_price_tools(lists):
    global save_list_main
    return_list = {'원가':0,'할인율':0,'총가격':0}
    save_list = {'영유아':(),'어린이':(),'청소년':(),'성인':(2)}
    for_save_list1 = 0
    for_save_list2 = 0
    for_save_list3 = 0
    for_save_list4 = 0
    price = 1000
    now_time = str(datetime.now())
    for i in range(len(lists)):
        if lists[i] < 14:
            if lists[i] < 4:
                for_save_list1 += 1
            else:
                for_save_list2 += 1
        else:
            if lists[i] > 20:
                for_save_list3 += 1
            else:
                for_save_list4 += 1
    totalss = {'영유아':for_save_list1,'어린이':for_save_list2,'청소년':for_save_list3,'성인':for_save_list4}
    print(save_list)
    for typess in ['영유아','어린이','청소년','성인']:  #return_list변수 추가코드
        if typess == '영유아':
          information = {'할인율':100 , '총가격':0}
        elif typess == '어린이':
          information = {'할인율':50, '총가격':price*0.5}
        elif typess == '청소년':
          information = {'할인율':25, '총가격':price*0.75}
        else:
          information = {'할인율':0, '총가격':price}
        for totals in ['원가','할인율','총가격']:
            if totals == '원가':
              a1 = (str(1000*totalss[typess]))
            elif totals == '할인율':
              a2 = (str(information['할인율']*totalss[typess]))
            else:
              a3 = (str(information['총가격']*totalss[typess]))
            a1 = float(a1)
        save_list[typess] = {'원가':(a1),'할인율':(a2),'총가격':(a3)}
    save_list_main.append({now_time:save_list})
    #print('\033[32m'+'\n영수증\n 영유아: {}\n 어린이: {}\n 청소년: {}\n 성인: {}\n원가: {}\n할인율: {}\n총가격: {}\n\n조회번호/시간:'.format('{}명'.format(len(save_list['영유아'])),'{}명'.format(len(save_list['어린이'])),'{}명'.format(len(save_list['청소년'])),'{}명'.format(len(save_list['성인'])),return_list['원가'],return_list['할인율'],return_list['총가격']),now_time+'\033[0m')
    print(save_list)
    return None
True_False = True
def main_tools():
    indexs = []
    global True_False
    while True_False:
        try:
            indexs.append(int(input("\n만나이입력(모든나이를 입력하면 공백을 입력해주세요.):")))
        except:
            ticket_price_tools(indexs)
            True_False = False
            return None
while True_False:
  main_tools()

Sell_System

buy_list = []
true_false = True
total = 0
mymoney = 20000000000
buy_menu = ''

def buy(names,nums,won):
    global buy_list
    #if names in buy_list:
    # try:
    #     buy_list[buy_list.index(names)] = (names,buy_list[buy_list.index(names)][1] + nums,buy_list[buy_list.index(names)][3] + won)
    # except:
    buy_list.append((names,nums,won))
    print(buy_list)
    return None


while true_false:
    print('\033[92m' + '버거(1)\n음료(2)\n사이드(3)\n종료및구매(4)')
    #try
    inputs = int(input("어느 구매창으로 이동할지 입력하세요:" + '\033[0m'))
    if inputs == 1:
        print('치즈버거: 2000원\n새우버거: 4000원\n불고기버거: 7000원')
        inputs = input("구매할것(치즈버거,새우버거,불고기버거):")
        if inputs == '치즈버거':
            inputs = input('구매할 버거수량:')
            buy('치즈버거',inputs,int(inputs)*2000)

        elif inputs == '새우버거':
            inputs = input('구매할 버거수량:')
            buy('새우버거',inputs,int(inputs)*4000)

        elif inputs == '불고기버거':
            inputs = input('구매할 버거수량:')
            buy('불고기버거',inputs,int(inputs)*7000)
        else:
            print('buy fail')

    elif inputs == 2:
        print('콜라: 2000원, 사이다:2000원, 물: 500원')
        inputs = input("구매할것(콜라,사이다,물):")
        if inputs == '콜라':
            inputs = input('구매할 음료수량:')
            buy('콜라',inputs,int(inputs)*2000)

        elif inputs == '사이다':
            inputs = input('구매할 음료수량:')
            buy('사이다',inputs,int(inputs)*4000)

        elif inputs == '물':
            inputs = input('구매할 음료수량:')
            buy('물',inputs,int(inputs)*500)
        else:
            print('buy fail')

    elif inputs == 3:
        print('감자튀김: 2000원, 치즈스틱: 1000원')
        inputs = input("구매할것(감자튀김,치즈스틱):")
        if inputs == '감자튀김':
            inputs = input('구매할 음료수량:')
            buy('감자튀김',inputs,int(inputs)*2000)

        elif inputs == '치즈스틱':
            inputs = input('구매할 음료수량:')
            buy('치즈스틱',inputs,int(inputs)*4000)

        else:
            print('buy fail')

    elif inputs == 4:
        for i in range(len(buy_list)):
            total += buy_list[i][2]
            buy_menu = buy_menu + buy_list[i][0] + ': ' + buy_list[i][1] + '개\n'
        if total > mymoney:
            print('돈이 부족합니다.')
        else:
            print('\033[92m' + '\n장바구니\n{}'.format(buy_menu))    
            print('\033[0m' + '{0}원을 결재 하시겠습니까?'.format(total))
            inputs = input('(y/n):')
            if inputs == 'y':
                mymoney -= total
                print('결재가 완료되었습니다.')
                print('\033[92m' + '\n영수증: \n{}\n\n지출:{}'.format(buy_menu,total))
                true_false = False
                print('\033[0m'+'현재돈:', mymoney)

    else:
        print('알맞지 않은 명령입니다.')

Account_System

from tkinter import E
from unittest.util import strclass
from langdetect import detect
from datetime import datetime
#로그인 정보 리스트
id_list = []
id_password_list = []
true_false = False
numss = 1
money = int()


id_list_f = open("ID.txt", 'r')
id_pass_f = open("ID_password_list.txt", 'r')
id_password_list = list(id_pass_f.read())
id_list = list(id_list_f.read())
id_list_f.close
id_pass_f.close








while True:
    print("-------------------------------------------------------")
    index = input('\033[31m' + "명령어: " + '\033[34m')
    print('\033[31m' + "-------------------------------------------------------")

#  아이디 입력과 중복체크 코드
    if index == "회원가입" :
        if true_false:
            print('\033[37m' + "로그인이 되어 있어 회원가입이 불가능 합니다." + '\033[37m')
        else:
            print("-------------------------------------------------------")
            print('\033[92m' + "회원가입" + '\033[37m')
            print("-------------------------------------------------------")
            Sign_Up_ids = input('\033[37m' + "아이디 입력: ")

            if len(Sign_Up_ids) >= 6:
                if Sign_Up_ids in id_list:  
                    print('\033[91m' + "이미 있는 id입니다." + '\033[37m')
                else:
#비밀번호 양식확인 코드
                    Sing_up_pass_word = input("비밀번호 입력: ")
                    if len(Sing_up_pass_word) >= 6:
                        if Sing_up_pass_word[0:1].encode().isalpha():
                            if Sing_up_pass_word.isalnum() == True:
                                id_password_list.append([Sing_up_pass_word,numss,true_false,datetime.now().strftime('%x %X'),0,False,0])
                                
                                numss = numss + 1
                                id_list.append(Sign_Up_ids)

                                print('\033[33m' + "계정이 등록되었습니다.")
                                print('\033[32m' + "아이디: " + Sign_Up_ids)
                                print("비밀번호: " + Sing_up_pass_word + '\033[37m')

                            else:
                                print('\033[91m' + "비밀번호는 영어와 숫자 조합으로만 만들수 있습니다." + '\033[37m')
                        else:
                            print('\033[91m' + "비밀번호의 첫글자는 영어로 이뤄져 있어야 합니다." + '\033[37m')
    
                    else:
                        print('\033[91m' + "모든 비밀번호는 6글자 이상이여야 합니다." + '\033[37m')
            else:
                print('\033[91m' + "id는 6글자 이상이여야 합니다." + '\033[37m')
    
# 로그인 코드
    elif index == "로그인":
        if true_false:
            print('\033[93m' + "이미 로그인 되있습니다." + '\033[37m')
        else:
            print("-------------------------------------------------------")
            print('\033[92m' + '로그인' + '\033[37m')
            print("-------------------------------------------------------")
            login_ids = input('아이디: ')
            login_password = input('비밀번호: ')



            if login_ids in id_list :
                num = (id_list.index(login_ids))
                if login_password in id_password_list[num]:
                    indexs = (id_list.index(login_ids))
                    true_false = True
                    id_password_list[indexs][2] = true_false
                    #true_false = True
                    login_id = login_ids
                    print("로그인이 되었습니다.")
                else:
                    print("틀린 비밀번호 입니다.")
            else:
                print('\033[93m' + "없는 아이디입니다." + '\033[37m')
        
            

    elif index == "사용자 리스트":
        if true_false:
            print(id_list)
        else:
            print('\033[91m' + "로그인후 사용해주세요." + '\033[37m')
            
    elif index == "로그아웃":
        true_false = False
        id_password_list[indexs][2].append(False)
        print('\033[91m' + "정상적으로 로그아웃 되었습니다." + '\033[37m')
    
    elif index == "사용자 조회":
        사용자 = input("조회할 자용자: ")
        if 사용자 in id_list:
            num123 = (id_list.index(사용자))
            true = id_password_list[num123][2] == True
            if true == True:
                online = "온라인"
            else:
                online = "오프라인"
            print(('\033[92m' + "{0}의정보\n{1}번째 가입자\n상태\n{2}\n가입날자\n{3}"'\033[37m').format(사용자,id_password_list[num123][1],online,id_password_list[num123][3]))
        else:
            print('\033[91m' + "없는 사용자 입니다." + '\033[37m')
        
    elif index == "비밀번호 변경":
        사용자2 = input("바밀번호를 변경할 계정: ")
        
        if 사용자2 in id_list:
            num132 = (id_list.index(사용자2))
            now_password = input('\033[94m' + "현재 비밀번호: " + '\033[37m')
            if now_password == id_password_list[num132][0]:
                new_passwors = input('\033[94m' + "바꿀비밀번호: " + '\033[37m')
                new_passwors2 = input('\033[94m' + "비밀번호확인: " + '\033[37m')
                if new_passwors == new_passwors2:
                    if len(new_passwors2) >= 6:
                        if new_passwors2[0:1].encode().isalpha():
                            if new_passwors2.isalnum() == True:
                                id_password_list[num132][0] = new_passwors
                                id_pass_f = open("ID_password_list.txt", 'w')
                                id_pass_f.write(Sing_up_pass_word)
                                id_pass_f.close
                                print("비밀번호: " + new_passwors2 + '\033[37m')
                                print("비밀번호가 변경 되었습니다.")

            
                            
                            else:
                                print('\033[91m' + "비밀번호는 영어와 숫자 조합으로만 만들수 있습니다." + '\033[37m')
                        else:
                            print('\033[91m' + "비밀번호의 첫글자는 영어로 이뤄져 있어야 합니다." + '\033[37m')
                    else:
                        print('\033[91m' + "id는 6글자 이상이여야 합니다." + '\033[37m')
                else:
                    print('\033[91m' + "바꿀 비밀번호가 일치하지 않습니다." + '\033[37m')
            else:
                print('\033[91m' + "비밀번호가 일치하지 않습니다." + '\033[37m')
        else:
            print('\033[91m' + " 없는 사용자 입니다." + '\033[37m')

    elif index == "충전":
        pick_id = input("아이디: ")
        num132313 = (id_list.index(pick_id))
        if id_password_list[num132313][5] == True:
            if id_password_list[indexs][2] == True :
                inputs = int(input("충전할 금액: "))
                money =+ inputs
                num22 = (id_list.index(pick_id))
                id_password_list[num132313][6] = money
                print('\033[32m' + "정상적으로 충전이 완료 되었습니다." + '\033[37m')
            else:
                print('\033[93m' + "로그인후 사용해주세요." + '\033[37m')
        else:
            print('\033[93m' + "이 명령어는 관리자만 사용가능 합니다." + '\033[37m')
            
    elif index == "관리자계정전환":
        사용자23 = input("관리자로 전환할 사용자: ")
        input_password = (input("비밀번호: "))
        if input_password == '09160916':
            if 사용자23 in id_list:
                num13231 = (id_list.index(사용자23))
                id_password_list[num13231][5] = True
                id_pass_f.write(id_password_list)
                id_pass_f.close
                print("게정에 관리자 권한이 지급되었습니다.")
            else:
                print("일치하지 않는 아이디 입니다.")
        else:
            print('\033[93m' + "비밀번호가 일치하지 않습니다." + '\033[37m')
            
    elif index == "구매":
        if id_password_list[num][2]:
            print('\033[92m' + "VIP구매 - 1000원 \nVVIP구매 - 10000원 \nVVVIP구매 - 10000원" + '\033[37m')
            buying_input = input("구매할 물건:")
            if buying_input == "VIP구매":
                if id_password_list[num][6] >= 1000:
                    id_password_list[num][6] = id_password_list[num][6] - 1000
                    print('\033[92m' + "정상적으로 결제되었습니다." + '\033[37m')
                else:
                    print('\033[91m' + "돈이 부족합니다." + '\033[37m')
        else:
            print('\033[91m' + "로그인후 사용해주세요." + '\033[37m')
        
            
            

    elif index == "아이디 변경":
        idssaw = input("아이디: ")
        try:
            num132 = (id_list.index(idssaw))
            password = input("비밀번호: ")
            if password == id_password_list[num132][0]:
                idsss = input("변경할 아이디: ")
                id_list[num132] = idsss
                id_list_f = open("ID.txt", 'w')
                id_list_f.write(id_password_list)
                id_list_f.close
                print("변경이 완료됬습니다.")
            else:
                print('\033[91m' + "비밀번호가 일치하지 않습니다." + '\033[37m')
            
        except:
            print('\033[91m' + "없는 아이디 입니다." + '\033[37m')
    else:
        print('\033[91m' + "틀린 명령어입니다.\n아래 명령어를 확인하세요." + '\033[93m' + "\n 회원가입 - 회원가입 창 실행 명령어\n 로그인 - 로그인 창 실행 명령어\n 사용자 리스트 - 현재 회원가입 계정이름을 보여줌\n 로그아웃 - 현재계정을 벗어남\n 사용자 조회 - 입력한 이름의 사용자를 조회함\n 관리자계정전환 - 계정에 관리자권한을 지급합니다.\n 충전 - 계정에 돈을 충전합니다." + '\033[37m')

©eunchanbravekim
©coding_eunchan
©eunchan_copy