본문 바로가기

Python

Python - 연습문제 2

'''
1. 화면에서 한개의 문자를 입력받아 
대문자인 경우는 소문자로 
소문자인 경우는 대문자로 
숫자인 경우는 20을 더한 값을 출력하기
[결과]
한개의 문자를 입력하세요 : 1
1 + 20 = 21

한개의 문자를 입력하세요 : a
a 문자의 대문자는 A

한개의 문자를 입력하세요 : A
A 문자의 소문자는 a
'''
# %d : 10정수, %X : 16진수 정수, %s : 문자열, %c : 문자, %f : 실수
instr = str(input("한개의 문자를 입력하세요 : "))
if instr.isupper() == True:
    print(instr," 문자의 소문자는 ",instr.lower())
elif instr.islower() == True:
    print(instr," 문자의 소문자는 ",instr.upper())
elif instr.isdigit() == True:
    print(instr," + 20 = ",int(instr)+20)

instr = str(input("한개의 문자를 입력하세요 : "))
if instr.isupper() == True:
    print("%c 문자의 소문자는 %c" % (instr,instr.lower()))
elif instr.islower() == True:
    print("%c 문자의 대문자는 %c" % (instr,instr.upper()))
elif instr.isdigit() == True:
    print("%c + 20 = %d" %(instr,int(instr) + 20))


'''
2 (1)+(1+2)+(1+2+3)+... (1+2+3+...10)=220 출력하기
'''
hap = 0 
for i in range (1,11) :
    for j in range (1,i+1) :
        hap += j
print(hap)

hap = 0
for i in range (1,11) :
    print("(",end="")
    for j in range (1,i+1) :
        print(j, end="")
        if(j!=i) : 
            print("+",end="")
        hap += j
        print(")",end="")
        if(i==10) : 
            print("=",end="")
        else:
            print("+",end="")
print(hap)

'''
3. 화면에서 자연수를 입력받아 각각의 자리수의 합을 구하기.
[결과]
자연수를 입력하세요
123
자리수 합 : 6
'''

num = int(input("자연수를 입력하세요 :"))
hap = 0
tmp = num
while(tmp > 0) :
    hap += tmp % 10
    tmp //= 10
print(num,"자리수의 합 :",hap)

num = input("자연수를 입력하세요 :")
hap = 0 
tmp = num
for i in range(0,len(tmp)) :
    hap += int(tmp[i])
print(num, "자리수의 합 : ", hap)


'''
4. aa,bb 리스트를 생성하고, 
aa 리스트는 0부터 짝수 100개를 저장하고
bb 리스트는 aa 배열의 역순으로 값을 저장하기.
aa[0] ~ aa[9], bb[99]~bb[90] 값을 출력하기
[결과]
aa[ 0]= 0,aa[ 1]= 2,aa[ 2]= 4,aa[ 3]= 6,aa[ 4]= 8,aa[ 5]=10,aa[ 6]=12,aa[ 7]=14,aa[ 8]=16,aa[ 9]=18,
bb[99]= 0,bb[98]= 2,bb[97]= 4,bb[96]= 6,bb[95]= 8,bb[94]=10,bb[93]=12,bb[92]=14,bb[91]=16,bb[90]=18,
''' 

aa = []
bb = []
value = 0 
for i in range(0,100):
    aa.append(value)
    value += 2
for i in range(0,len(aa)) :
    bb.append(aa[len(aa)-1-i])

for i in range(0,10) : 
    print("aa[%2d]=%2d" % (i,aa[i]),end=",")
print()
for i in range(99,89,-1) :
    print("bb[%2d]=%2d" % (i,bb[i]),end=",")


#5. 다음 모레시계모양을 출력하기

''' 
[결과]
모래시계의 높이를 홀수로 입력하세요 : 5
*****
 ***
  *
 ***
*****
'''
row = int(input("모래시계의 높이를 홀수로 입력하세요 : "))
for i in range(0,row//2+1) :
    for j in range(0,row-i) :
        if j < i :
            print(" ", end="")
        else : 
            print("*", end="")
    print()
for i in range(row//2+1,row) : 
    for j in range(0,i+1) :
        if (j >= row-i-1 and j <= i) :
            print("*",end="")
        else : 
            print(" ",end="")
    print()