함수
def 함수이름(매개변수) :
# 자바는 컴파일러 언어이기 때문에 기계어로 만들어 클래스를 호출하지만
# 파이썬은 인터프리터 방식이기 때문에 순서대로 읽어가기 때문에 함수를 호출하기 위해서 위에서 선언해줘야한다
def add(a,b):
return a+b
def minus(a,b):
return a-b
def multiply(a,b):
return a*b
def divide(a,b):
return a/b
sum = add(4,2)
min = minus(4,2)
mul = multiply(4,2)
div = divide(4,2)
print("sum:", sum) # sum: 6
print("min:", min) # min: 2
print("mul:", mul) # mul: 8
print("div:", div) # div: 2.0
더보기
자바 형식
package day03;
public class MyDef01 {
public static void main(String[] args) {
int sum = add(4, 2);
System.out.println("sum: "+sum);
}
public static int add(int a, int b) {
return a+b;
}
}
자바는 컴파일러 언어이기 때문에 아래에서 선언해줘도 함수를 사용할 수 있으나
파이선은 인터프리터 언어이기 때문에 아래에서 선언해주면 위에서부터 순차적으로 읽어오기 때문에 오류가 발생한다
문제 1. 홀짝
from random import random
def getHJ(): # 홀, 짝을 반환하는 함수
rnd = random()
if rnd>0.5 :
return "홀"
else :
return "짝"
com = getHJ()
print("com", com)
문제 2. 구구단
def showDan(dan):
print("== {}단 ==".format(dan))
for i in range(1,9+1):
print("{} * {} = {}".format(dan, i, dan*i))
showDan(6)
showDan은 출력(return)하는 값이 없음
더보기
package day03;
public class MyDef03 {
public static void main(String[] args) {
showDan(6);
}
public static void showDan(int dan) {
for(int i=1; i<=9; i++) {
System.out.println(dan + " * " + i + " = "+ dan*i);
}
}
}
문제 3. 단순 출력
def printYourCeleb():
print("오리")
printYourCeleb()
출력
java | python | |
input (매개변수) | 여러개 가능 ( 0 ~ n ) | 여러개 가능 ( 0 ~ n ) |
output (return) | 없거나(void), 1개만 존재 | 튜플(Tuple) |
튜플(tuple)
배열은 아니지만 배열처럼 동작하는 python의 output 형식
return이 2개 이상일 경우에는 각각의 변수의 수의 맞게 초기화하면 각각의 값이 들어가지만
하나의 변수에만 넣을 경우 그 해당 변수에 tuple값이 들어가게 된다
그 tuple값 한 개를 꺼내고 싶을 경우 배열을 사용하는 방식과 동일하게
이름[index번호] 를 사용하면 된다
def add_min_mul_div(a,b):
return a+b, a-b, a*b, a/b
sum, min, mul, div = add_min_mul_div(4, 2)
# sum, min, mul = add_min_mul_div(4, 2) # too many values unpack 오류
sum = add_min_mul_div(4, 2)
print("sum:", sum) # sum: (6, 2, 8, 2.0) -> tuple
print("mul:", sum[2]) # mul: 8
# print("min:", min)
# print("mul:", mul)
# print("div:", div)
로또를 자바형식으로 표현하기
package day03;
import java.util.Arrays;
public class MyLotto {
public static void main(String[] args) {
int[] arr = new int[45]; // 번호를 저장할 배열 선언
int num = 1; // 숫자가 들어갈 값
for(int i=0; i<arr.length; i++) { // 로또 번호 저장
arr[i]=num++;
}
for(int i=0; i<1000; i++) { // 번호 섞기
int rnd = (int) (Math.random()*45);
int temp = arr[0];
arr[0]=arr[rnd];
arr[rnd]=temp;
}
int[] lotto = {arr[0], arr[1], arr[2], arr[3], arr[4], arr[5]}; // 6개 숫자 뽑음
Arrays.sort(lotto); // 번호 정렬
for(int i=0; i<lotto.length; i++) { // 출력
System.out.print(lotto[i]+" ");
}
}
}
package day03;
import java.util.ArrayList;
import java.util.Collections;
public class MyLotto2 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
int num = 1;
for(int i=0; i<45; i++) {
list.add(num++);
}
for(int i=0; i<1000; i++) {
int rnd = (int) (Math.random()*45);
int temp = list.get(0);
list.set(0, list.get(rnd));
list.set(rnd, temp);
}
ArrayList<Integer> lotto = new ArrayList<>();
for(int i=0; i<6; i++) {
lotto.add(list.get(i));
}
Collections.sort(lotto);
for(int i=0; i<lotto.size(); i++) {
System.out.print(lotto.get(i)+" ");
}
}
}
'Python' 카테고리의 다른 글
6/26 Homework - 가위바위보 (0) | 2024.06.26 |
---|---|
[Python] 클래스 (0) | 2024.06.26 |
6/25 Homework (0) | 2024.06.25 |
[Python] 배열 / 반복문 / 랜덤함수 (0) | 2024.06.25 |
[Python] OT / 변수 / 연산자 / if / input (0) | 2024.06.24 |