def calc_run(): # Define variables for two numbers using the int and input function num1 = int(input('Please enter a number: ')) num2 = int(input('Please enter another number: ')) #Define a variable for choosing operator #Use multi-line text format operator = input( """What type of mathematical operation would you like to carry out? Select an option by entering the corresponding number for the desired operation. 1. Addition 2. Subtraction 3. Multiplication 4. Division?: Ans: """) #Use conditional statements for decision making #Call out each operator from the module using the dot method if operator == '1': return mod.add(num1, num2) elif operator == '2': return mod.sub(num1, num2) elif operator == '3': return mod.mult(num1, num2) elif operator == '4': return mod.div(num1, num2) else: return "Wrong input! Kindly enter the correct option"
def test_q1(): print("-------------------------------------------") print("Testing Q1: Modular Arithmetic Library") filename = 'q1_solution.txt' outFile = open(filename, 'w') print() outFile.write('1- Testing residue_set:\n') outFile.write('residue_set({}) = {}\n'.format(10, mod.residue_set(10))) outFile.write('residue_set({}) = {}\n'.format(1, mod.residue_set(1))) outFile.write('residue_set({}) = '.format(-5)) outFile.write('{}\n'.format(mod.residue_set(-5))) outFile.write('residue_set({}) = '.format([5])) outFile.write('{}\n'.format(mod.residue_set([5]))) outFile.write('\n') outFile.write('2- Testing residue:\n') outFile.write('residue({},{}) = {}\n'.format(17, 5, mod.residue(17, 5))) outFile.write('residue({},{}) = '.format(3.4, 5)) outFile.write('{}\n'.format(mod.residue(3.4, 5))) outFile.write('residue({},{}) = '.format(13, -5)) outFile.write('{}\n'.format(mod.residue(13, -5))) outFile.write('\n') outFile.write('3- Testing is_congruent:\n') outFile.write('is_congruent({},{},{})= {}\n'.format( 22, 33, 11, mod.is_congruent(22, 33, 11))) outFile.write('is_congruent({},{},{}) = {}\n'.format( 7, 9, 3, mod.is_congruent(7, 9, 3))) outFile.write('is_congruent({},{},{})= '.format(3.4, 5, 9)) outFile.write('{}\n'.format(mod.is_congruent(3.4, 5, 9))) outFile.write('is_congruent({},{},{}) = '.format(3, 5, -9)) outFile.write('{}\n'.format(mod.is_congruent(3, 5, -9))) outFile.write('\n') outFile.write('4- Testing add:\n') outFile.write('add({},{},{}) = {}\n'.format(17, 23, 7, mod.add(17, 23, 7))) outFile.write('add({},{},{}) = {}\n'.format(-17, 23, 7, mod.add(-17, 23, 7))) outFile.write('add({},{},{}) = {}\n'.format(17, -23, 7, mod.add(17, -23, 7))) outFile.write('add({},{},{}) = '.format(9, 17, 0)) outFile.write('{}\n'.format(mod.add(9, 17, 0))) outFile.write('add({},{},{}) = '.format([9], 17, 7)) outFile.write('{}\n'.format(mod.add([9], 17, 7))) outFile.write('add({},{},{}) = '.format(9, 17.1, 8)) outFile.write('{}\n'.format(mod.add(9, 17.1, 8))) outFile.write('\n') outFile.write('5- Testing sub:\n') outFile.write('sub({},{},{}) = {}\n'.format(17, 23, 7, mod.sub(17, 23, 7))) outFile.write('sub({},{},{}) = {}\n'.format(-17, 23, 7, mod.sub(-17, 23, 7))) outFile.write('sub({},{},{}) = {}\n'.format(17, -23, 7, mod.sub(17, -23, 7))) outFile.write('sub({},{},{}) = '.format(9, 17, 0)) outFile.write('{}\n'.format(mod.sub(9, 17, 0))) outFile.write('sub({},{},{}) = '.format([9], 17, 7)) outFile.write('{}\n'.format(mod.sub([9], 17, 7))) outFile.write('sub({},{},{}) = '.format(9, 17.1, 8)) outFile.write('{}\n'.format(mod.sub(9, 17.1, 8))) outFile.write('\n') outFile.write('6- Testing additive inverse:\n') outFile.write('add_inv({},{}) = {}\n'.format(3, 5, mod.add_inv(3, 5))) outFile.write('add_inv({},{}) = {}\n'.format(6, 1, mod.add_inv(6, 1))) outFile.write('add_inv({},{})= {}\n'.format(22, 10, mod.add_inv(22, 10))) outFile.write('add_inv({},{}) = '.format(6, -1)) outFile.write('{}\n'.format(mod.add_inv(6, -1))) outFile.write('add_inv({},{}) = '.format(6.2, 6)) outFile.write('{}\n'.format(mod.add_inv(6.2, 6))) a = 4 b = 2 m = 5 result = mod.sub(a, b, m) == mod.add(a, mod.add_inv(b, m), m) outFile.write( 'sub({0},{1},{2}) == add({0},add_inv({1},{2}),{2})? = {3}\n'.format( a, b, m, result)) outFile.write('\n') outFile.write('7- Testing Addition Table:\n') outFile.write('Addition Table for mode {} =\n'.format(5)) addTab = mod.add_table(5) for i in range(len(addTab)): outFile.write(str(addTab[i])) outFile.write('\n') outFile.write('Addition Table for mode {} =\n'.format(8)) addTab = mod.add_table(8) for i in range(len(addTab)): outFile.write(str(addTab[i])) outFile.write('\n') outFile.write('Addition Table for mode {} =\n'.format(0)) outFile.write(mod.add_table(0)) outFile.write('\n') outFile.write('\n') outFile.write('8- Testing Subtraction Table:\n') outFile.write('Subtraction Table for mode {} =\n'.format(5)) subTab = mod.sub_table(5) for i in range(len(subTab)): outFile.write(str(subTab[i])) outFile.write('\n') outFile.write('Subtraction Table for mode {} =\n'.format(8)) subTab = mod.sub_table(8) for i in range(len(subTab)): outFile.write(str(subTab[i])) outFile.write('\n') outFile.write('Subtraction Table for mode {} =\n'.format([5])) outFile.write(mod.sub_table([5])) outFile.write('\n') outFile.write('\n') outFile.write('9- Testing Addition Inverse Table:\n') outFile.write('Addition Inverse Table for mode {} =\n'.format(5)) addInvTab = mod.add_inv_table(5) outFile.write(str(addInvTab[0])) outFile.write('\n') outFile.write(str(addInvTab[1])) outFile.write('\n') outFile.write('Addition Inverse Table for mode {} =\n'.format(26)) addInvTab = mod.add_inv_table(26) outFile.write(str(addInvTab[0])) outFile.write('\n') outFile.write(str(addInvTab[1])) outFile.write('\n') outFile.write('Addition Inverse Table for mode {} =\n'.format(-2)) outFile.write(mod.add_inv_table(-2)) outFile.write('\n') outFile.write('\n') outFile.write('10- Testing mul:\n') outFile.write('mul({},{},{}) = {}\n'.format(3, 5, 5, mod.mul(3, 5, 5))) outFile.write('mul({},{},{}) = {}\n'.format(8, 3, 7, mod.mul(8, 3, 7))) outFile.write('mul({},{},{})= {}\n'.format(17, -3, 7, mod.mul(17, -3, 7))) outFile.write('mul({},{},{}) = '.format(9, 17, 0)) outFile.write('{}\n'.format(mod.mul(9, 17, 0))) outFile.write('mul({},{},{}) = '.format([9], 17, 7)) outFile.write('{}\n'.format(mod.mul([9], 17, 7))) outFile.write('mul({},{},{}) = '.format(9, 17.1, 8)) outFile.write('{}\n'.format(mod.mul(9, 17.1, 8))) outFile.write('\n') outFile.write('11- Testing Multiplication Table:\n') outFile.write('Multiplication Table for mode {} =\n'.format(4)) mulTab = mod.mul_table(4) for i in range(len(mulTab)): outFile.write(str(mulTab[i])) outFile.write('\n') outFile.write('Multiplication Table for mode {} =\n'.format(5)) mulTab = mod.mul_table(5) for i in range(len(mulTab)): outFile.write(str(mulTab[i])) outFile.write('\n') outFile.write('Multiplication Table for mode {} =\n'.format(-5)) outFile.write(mod.mul_table(-5)) outFile.write('\n') outFile.write('\n') outFile.write('12- Testing is_prime:\n') outFile.write('is_prime({}) = {}\n'.format(97, mod.is_prime(97))) outFile.write('is_prime({}) = {}\n'.format(479, mod.is_prime(479))) outFile.write('is_prime({})= {}\n'.format(1044, mod.is_prime(1044))) outFile.write('is_prime({}) = {}\n'.format(0, mod.is_prime(0))) outFile.write('is_prime({}) = {}\n'.format(-17, mod.is_prime(-17))) outFile.write('\n') outFile.write('13- Testing gcd:\n') outFile.write('gcd({},{}) = {}\n'.format(629, 357, mod.gcd(629, 357))) outFile.write('gcd({},{}) = {}\n'.format(440, 700, mod.gcd(440, 700))) outFile.write('gcd({},{}) = {}\n'.format(-30, 700, mod.gcd(-30, 700))) outFile.write('gcd({},{}) = {}\n'.format(540, -539, mod.gcd(540, -539))) outFile.write('gcd({},{}) = '.format(711, 0)) outFile.write(mod.gcd(711, 0)) outFile.write('\n') outFile.write('gcd({},{}) = '.format(0, 311)) outFile.write(mod.gcd(0, 311)) outFile.write('\n') outFile.write('gcd({},{}) = '.format([9], 27)) outFile.write(mod.gcd([9], 27)) outFile.write('\n') outFile.write('\n') outFile.write('14- Testing is_relatively_prime:\n') outFile.write('is_relatively_prime({},{}) = {}\n'.format( 4, 5, mod.is_relatively_prime(4, 5))) outFile.write('is_relatively_prime({},{})= {}\n'.format( 540, 539, mod.is_relatively_prime(540, 539))) outFile.write('is_relatively_prime({},{}) = {}\n'.format( 18, 26, mod.is_relatively_prime(18, 26))) outFile.write('is_relatively_prime({},{}) = {}\n'.format( 0, 26, mod.is_relatively_prime(0, 26))) outFile.write('is_relatively_prime({},{}) = '.format([1], 26)) outFile.write(mod.is_relatively_prime([1], 26)) outFile.write('\n') outFile.write('\n') outFile.write('15- Testing has_mul_inv:\n') outFile.write('has_mul_inv({},{}) = {}\n'.format( 4, 5, mod.has_mul_inv(4, 5))) outFile.write('has_mul_inv({},{}) = {}\n'.format(17, 26, mod.has_mul_inv(17, 26))) outFile.write('has_mul_inv({},{}) = {}\n'.format(18, 26, mod.has_mul_inv(18, 26))) outFile.write('has_mul_inv({},{}) = {}\n'.format( 0, 26, mod.has_mul_inv(0, 26))) outFile.write('has_mul_inv({},{}) = '.format([1], 26)) outFile.write(mod.has_mul_inv([1], 26)) outFile.write('\n') outFile.write('\n') outFile.write('16- Testing EEA:\n') outFile.write('eea({},{}) = {}\n'.format(700, 440, mod.eea(700, 440))) outFile.write('eea({},{}) = {}\n'.format(88, 35, mod.eea(88, 35))) outFile.write('eea({},{}) = {}\n'.format(35, 88, mod.eea(35, 88))) outFile.write('eea({},{}) = {}\n'.format(-88, 35, mod.eea(-88, 35))) outFile.write('eea({},{}) = {}\n'.format(88, -35, mod.eea(88, -35))) outFile.write('eea({},{}) = '.format(0, 777)) outFile.write(mod.eea(0, 777)) outFile.write('\n') outFile.write('\n') outFile.write('17- Testing mul_inv:\n') outFile.write('mul_inv({},{}) = {}\n'.format(23, 26, mod.mul_inv(23, 26))) outFile.write('mul_inv({},{}) = {}\n'.format(5, 6, mod.mul_inv(5, 6))) outFile.write('mul_inv({},{}) = {}\n'.format(24, 26, mod.mul_inv(24, 26))) outFile.write('mul_inv({},{}) = {}\n'.format(700, 440, mod.mul_inv(700, 440))) outFile.write('mul_inv({},{}) = {}\n'.format(0, 777, mod.mul_inv(700, 440))) outFile.write('mul_inv({},{}) = '.format(1, [99])) outFile.write(mod.mul_inv(1, [99])) outFile.write('\n') outFile.write('mul_inv({},{}) = '.format([1], 99)) outFile.write(mod.mul_inv([1], 99)) outFile.write('\n') outFile.write('\n') outFile.write('18- Testing Multiplicative Inverse Table:\n') outFile.write('Multiplicative Inverse Table for mode {} =\n'.format(5)) mulInvTab = mod.mul_inv_table(5) outFile.write(str(mulInvTab[0])) outFile.write('\n') outFile.write(str(mulInvTab[1])) outFile.write('\n') outFile.write('Multiplicative Inverse Table for mode {} =\n'.format(26)) mulInvTab = mod.mul_inv_table(26) outFile.write(str(mulInvTab[0])) outFile.write('\n') outFile.write(str(mulInvTab[1])) outFile.write('\n') outFile.write('Multiplicative Inverse Table for mode {} =\n'.format(-2)) outFile.write(mod.mul_inv_table(-2)) outFile.write('\n') outFile.write('\n') outFile.close() print('Comparing q1_solution with q1_sample:') print(utilities_A4.compare_files('q1_solution.txt', 'q1_sample.txt')) print() print("-------------------------------------------") return
# -*- coding: utf-8 -*- """ Created on Mon Feb 8 08:30:32 2021 @author: myung modex3.py """ #mod 모듈에서 add,sub 함수를 가져오기. from mod import add, sub print(add(3, 4)) print(sub(4, 2))
# -*- coding: utf-8 -*- """ Created on Mon Feb 8 16:16:19 2021 @author: dhtmd """ import mod import mod2 mod.add(3, 4) mod.sub(4, 2) mod2.add(3, 4) mod2.sub(4, 2)
# -*- coding: utf-8 -*- """ Created on Mon Feb 8 08:30:32 2021 @author: myung modex1.py : mod 모듈 사용하기 """ import mod #모듈 가져오기. import mod2 print("mod 모듈", mod.add(3, 4)) print("mod 모듈", mod.sub(4, 2)) print("mod2 모듈", mod2.add(3, 4)) print("mod2 모듈", mod2.sub(4, 2))
import mod from mod import add # print(dir(mod)) print(add(5, 6)) print(add.__doc__) print(mod.__doc__) print(mod.__doc__)
print(id(a.lastname)) print(id(b.lastname)) h.lastname = "Seohyun" print(id(a.lastname)) print(id(b.lastname)) h.lastname = "Jang" print(id(a.lastname)) print(id(b.lastname)) #클래스 변수는 모든 객체에 공유된다 #a 객체와 b 객체에 공유 #모듈의 불러오기 : 모듈 - 함수, 클래스, 변수등을 모아놓은 파일 #모듈, 스크립트, 파일 = 파이썬으로 작성된 모든 파일은 모듈 #1. import 모듈명 import mod print(mod.add(1, 2)) # 1, 2 인수 print(mod.sub(10, 5)) print(mod.PI) #3.14159 m = mod.Math() #m객체는 mod.Math클래스의 인스턴스다 #2. from 모듈명 import * from mod import * print(add(1, 3)) print(sub(9, 6)) #__name__ vs __main__ print(__name__)
lecture-04 python module, package, exception """ # 01 module # 1) mod.py -> 사용할 모듈 이름 # 일반적 모듈 파이썬 파일 작성 def add(a, b): return a + b def sub(a, b): return a-b # 2) main.py -> 사용할 메인 모듈 # 모듈을 사용할 메인 모듈 작성 import mod # mod.py를 import 함. 파일 디렉토리에 있을 경우(./test/mode.py) -> import test.mode (package 에서 상세히) print(mod.add(1, 2)) # 3) main1-1.py # 메인 모듈에서 디렉토리 안의 모듈을 사용할 때 주의 import test.mod print(mod.add(1, 2)) # error # ---- print(test.mod(1, 2)) # success # ---- import test.mod as mod print(mod.add(1, 2)) # success # 4) main2.py # 모듈 내 함수만 참조 from mod import add print(add(1, 2))
import mod txt = "welcome" x = txt.endswith("e") print(x) mod.call() mod.add(2, 4)
위와 같이 간단한 함수로 만들어진 파이썬파일 *.py를 모듈이라고 한다. # 모듈 불러오기 위의 모듈의 이름을 mod.py라 하고 불러오겠다. C:\Users\pahkey>cd C:\doit # 해당 파일이 있는 디렉터리로 이동 C:\doit>dir ... 2014-09-23 오후 01:53 49 mod1.py ... C:\doit>python 파이썬 실행 import mod print(mod.add(3, 4)) >>> 7 print(mod.sub(4, 2)) >>> 2 mood를 불러오기 위해 import를 하였다. * mod.py라고 풀네임하지 않기 이제 함수를 사용하기위해 mod.add를 사용한다. import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다. 파이썬 라이브러리는 파이썬을 설치할 때 자동으로 설치되는 파이썬 모듈을 말한다. # import의 사용법 import 모듈이름 import를 할고 우리는 함수를 사용하기위해 mod.add 등 mod를 지정해주어야 헀다. 이를 안하고 하는 방법도있다. from 모듈이름 import 모듈함수
#import mod #print(mod.add(10, 20)) #print(mod.sub(30,5)) # equal #from mod import * # <or> #from mod import add #from mod import sub from mod import add,sub print(add(10, 20)) print(sub(30,5)) print(__name__) from mod2 import Math math = Math() print(math.solv(10)) #import game.sound.echo #game.sound.echo.echo_test() #from game.sound.echo import echo_test #echo_test() from game.sound import * echo.echo_test() from game.graphic import *
import sys # print(sys.path) # print(type(sys.path)) sys.path.append('I:\Python\math') # 경로 삽입 요게 중요 # print(sys.path) # # import test_module # # # 모듈 사용 # print(test_module.power(10, 3)) # test_module에 있는 print문이 실행되지 않게 하려면? # 불필요한것들이 출력되지 않게 하려면? # __name__ 사용 #import chapter06_02 import mod print(mod.add(10,2))
from mod import add x = add(1, 2, 3) # Noncompliant S930
# import 방식 # 모듈 import # 함수 import # import 모듈이름 import mod print("mod.add(3.4) =", mod.add(3, 4)) # from 모듈이름 import 모듈함수 # from 모듈이름 import 모듈함수
from mod import add print(add(4, 3)) print(add(14, 13)) from mainmodule import mainscript mainscript.parent() from mainmodule.submodule import sub sub.child()
#################### # import 방식 # import 모듈명 # import 모듈명 as 별칭 # from 모듈명 import 함수명 #################### #################### # import 모듈명 import mod #################### # import 모듈명 as 별칭 import mod as 별칭 #################### # from 모듈명 import 함수명 from mod import sum print("import 모듈명 >> mod.add(3, 4) = ", mod.add(3, 4)) # 7 print("import 모듈명 as 별칭 >> 별칭.add(3, 4) = ", 별칭.add(3, 4)) # 7 print("from 모듈명 import 함수명 >> sum(3, 4) = ", sum(3, 4)) # 7
import mod import cv2 import time import numpy as np print(mod.add(2, 3)) print(mod.make_array()) print(mod.multiply(mod.make_array(), mod.make_array())) def calc(): array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]).astype(np.float64) for i in range(0, int(1e6)): cv2.determinant(array) start = time.time() mod.calc() end = time.time() print(end - start) start = time.time() calc() end = time.time() print(end - start)
from mod import add, sub print(add(1, 3)) print(sub(5, 2)) from mod2 import Math print(Math().solv(2))
print('concat str with int {} and {}'.format(8, 10)) print('concat str with int {1} and {0}'.format(8, 10)) print('concat str with int {num1} and {num2}'.format(num1=1, num2=2)) a = [0, 1] print('concat str with int {a[0]} and {a[1]}'.format(a=a)) print('-'.join(['one', 'two', 'three']).split('-')) print('a-b-c'.partition('-')) a, _, c = 'a-b-c'.partition('b') # convention: _ is dummy var that is not used # Files, Network Resources, HTTP Responses are transfer as byte streams print('string to byte string'.encode('utf-8').decode('utf-8')) a = [1,2] # list a[0] = 0 a.append(3) a.insert(0, -1) print(a) print(list('break out')) a = {'k1': 1, 'k2': 2} print(add(a['k1'], a['k2'])) print([4,7] == [4,7]) print([4,7] is [4,7]) print('program end..')
# import 방식 # 모듈 import # 함수 import # import 모듈이름 # from 모듈이름 import 모듈함수 import mod print("mod1.add(3, 4) = ", mod.add(3, 4)) # 7 # from 모듈이름 import 모듈함수 from mod import sum print("sum(3, 4) = ", sum(3, 4)) # 7
# import 방식 # 모듈 import # 함수 import # import 모듈이름 # from 모듈이름 import 모듈함수 # from 모듈이름 import 모듈함수 from mod import sum import mod print("mod.add(3.5) = ", mod.add(3, 5)) print("sum(3, 5) = ", sum(3, 5))
print arg1 for var in vartuple: print var return printinfo(10) printinfo(70, 60, 50) #Modules # Import module support import mod # Now you can call defined function that module as follows mod.print_func("Zara") mod.add(10, 2) mod.subtr(10, 2) mod.multi(10, 2) mod.divi(10, 2) import math content = dir(math) print content #Files I/O print "Python is really a great language,", "isn't it?" str = raw_input("Enter your input: ") print "Received input is : ", str #Write to file fo = open("test.txt", "wb")