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