nums = [] n = 1 while n < 6: try: num = int(input('input number: ')) except: print('예외 발생') continue
예외가 발생되지 않으면 실행
else: if num % 2 == 0: nums.append(num) n += 1 else: print('입력한 숫자는 홀수 입니다.', end='') print('다시 입력 하세요.') continue
eveList = []; oddList = []; floatList = [] n = 1 while n < 6:
try: num = float(input('input number: '))
except: print('exception raise!!') print('input number again!!') continue
else: if num - int(num) != 0: print('float number!') floatList.append(num) else: if num % 2 == 0: print('even number!') eveList.append(int(num)) else: print('odd number!') oddList.append(int(num)) n += 1
print('eveList: {}'.format(eveList)) print('oddList: {}'.format(oddList)) print('floatList: {}'.format(floatList))
try: inputData = input('input number: ') numInt = int(inputData) except: print('exception raise!!') print('not number!!') numInt = 0 else: if numInt % 2 == 0: print('inputData is even number!!') else: print('inputData is odd number!!')
항상 실행됨
finally: print('inputData: {}'.format(inputData))
num1 = int(input('input numer1: ')) num2 = int(input('input numer2: ')) try: print('num1 / num2 = {}'.format(num1 / num2))
except Exception as e
except Exception as e: print('exception: {}'.format(e)) print(f'num1 * num2 = {num1 * num2}') print(f'num1 - num2 = {num1 - num2}') print(f'num1 + num2 = {num1 + num2}')
def divCalculator(n1, n2): if n2 != 0: print('n1 / n2 = {}'.format(n1 / n2)) else: raise Exception('0으로 나눌 수 없습니다.') num1 = int(input('input numer1: ')) num2 = int(input('input numer2: '))
try: divCalculator(num1, num2) except Exception as e: print('Exception: {}'.format(e))
사용자 예외 클래스
class NotUseZeroException(Exception): def __init__(self, n): super().__init__(f'{n}은 사용할 수 없습니다!!')
def divCalculator(num1, num2): if num2 == 0: raise NotUseZeroException(num2) else: print('num1 / num2 = {}'.format(num1 / num2))
num1 = int(input('input number1: ')) num2 = int(input('input number2: '))
try: divCalculator(num1, num2) except NotUseZeroException as e: print(e)
class PasswordLengthShort(Exception): def __init__(self, str): super().__init__('{}: 길이 5미만!!'.format(str)) class PasswordLengthLong(Exception): def __init__(self, str): super().__init__('{}: 길이 10초과!!'.format(str)) class PasswordWrong(Exception): def __init__(self, str): super().__init__('{}: 잘못된 비밀번호'.format(str))
adminPw = input('input admin password: ')
try: if len(adminPw) < 5: raise PasswordLengthShort(adminPw) elif len(adminPw) > 10: raise PasswordLengthLong(adminPw) elif adminPw != 'admin1234': raise PasswordWrong(adminPw) elif adminPw == 'admin1234': print('빙고!!')
except PasswordLengthShort as e1: print(e1) except PasswordLengthLong as e2: print(e2) except PasswordWrong as e3: print(e3)
file = open('C:/pythonTxt/test.txt', 'w')
strCnt = file.write('Hello world') print('strCnt = {}'.format(strCnt))
file.close()
import time lt = time.localtime() dateStr = '[' + str(lt.tm_year) + '년 ' + \ str(lt.tm_mon) + '월 ' +\ str(lt.tm_mday) + '일] ' todaySchedule = input('오늘 일정: ') file = open('C:/pythonTxt/test.txt', 'w') file.write(dateStr + todaySchedule) file.close()
dateStr 간략하게
dateStr = '[' + time.strftime('%Y-%m-%d %I:%M:%S %p', lt) + '] '
file = open('C:/pythonTxt/test.txt', 'r')
str = file.read() print('str = {}'.format(str))
file.close()
file = open('C:/pythonTxt/about_python.txt', 'r') str = file.read() print('str = {}'.format(str)) file.close() str = str.replace('python', '파이썬', 2) print('str = {}'.format(str))
file = open('C:/pythonTxt/about_python.txt', 'w') file.write(str) file.close()
uri = 'C:/pythonTxt/'
'w' 파일 모드
file = open(uri + 'hello.txt', 'w') strCnt = file.write('Hello Python!!') print('strCnt: {}'.format(strCnt)) file.close()
'a' 파일 모드
file = open(uri + 'hello.txt', 'a') file.write('\n') file.write('Hello data science!!') file.close()
'x' 파일 모드
file = open(uri + 'hello.txt', 'x') file.write('Nice to meet you!!') file.close()
'r' 파일 모드
file = open(uri + 'hello.txt', 'r') str = file.read() print('str: {}'.format(str)) file.close()
uri = 'C:/pythonTxt/'
def writePrimeNumber(n): file = open(uri + 'prime_numbers.txt', 'a') file.write(str(n)) file.write('\n') file.close()
inputNumber = int(input('0보다 큰 정수 입력: '))
for number in range(2, (inputNumber + 1)): flag = True for n in range(2, number): if number % n == 0: flag = False break if flag: writePrimeNumber(number)
close() 생략가능
with open(uri + '5_037.txt', 'a') as f: f.write('python study!!')
with open(uri + '5_037.txt', 'r') as f: print(f.read())
import random uri = 'C:/pythonTxt/'
def writeNumbers(nums): for idx, num in enumerate(nums): with open(uri + 'lotto.txt', 'a') as f: if idx < len(nums) - 2: f.write(str(num) + ', ') elif idx == len(nums) - 2: f.write(str(num)) elif idx == len(nums) - 1: f.write('\n') f.write('Bonus: ' + str(num)) f.write('\n')
rNums = random.sample(range(1, 46), 7) print('rNums: {}'.format(rNums)) writeNumbers(rNums)
languages = ['c/c++', 'java', 'c#', 'python', 'javascript']
uri = 'C:/pythonTxt/' for item in languages: with open(uri + 'languages.txt', 'a') as f: f.write(item) f.write('\n')
writelines()를 사용하여 더 간략하게
languages = ('c/c++', 'java', 'c#', 'python', 'javascript') uri = 'C:/pythonTxt/'
with open(uri + 'languages.txt', 'a') as f: f.writelines(item + '\n' for item in languages)
scoreDic = {'kor': 85, 'eng': 90, 'mat': 92, 'sci': 79, 'his': 82} uri = 'C:/pythonTxt/'
for key in scoreDic.keys(): with open(uri + 'scoreDic.txt', 'a') as f: f.write(key + '\t: ' + str(scoreDic[key]) + '\n')
uri = 'C:/pythonTxt/'
with open(uri + 'lans.txt', 'r') as f: lanList = f.readlines()
print('lanList: {}'.format(lanList)) print('lanList type: {}'.format(type(lanList)))
uri = 'C:/pythonTxt/'
with open(uri + 'lans.txt', 'r') as f: line = f.readline()
while line != '': print('line: {}'.format(line)) line = f.readline()
scoreDic = {} uri = 'C:/pythonTxt/'
with open(uri + 'scores.txt', 'r') as f: line = f.readline() while line != '': tempList = line.split(':') scoreDic[tempList[0]] = int(tempList[1].strip('\n')) line = f.readline()
print('scoreDic: {}'.format(scoreDic))