본문 바로가기
study/Python

[Python] 31. Test 답

by 금이패런츠 2022. 6. 14.
728x90
반응형
# -*- coding: utf-8 -*-
"""
Created on Tue Jun 14 15:54:22 2022

@author: KITCOOP
test0614_A.py
"""

'''
1.  화면에서 한개의 문자를 입력받아
     대문자인 경우는 소문자로, 
     소문자인 경우는 대문자로 
     숫자인 경우는 20을 더한 값을   출력하기
'''
ch = input("한개의 문자를 입력하세요 : ")
if ch.isdigit() :
   print("%c + 20 = %d" % (ch,int(ch) + 20))
elif ch.isupper() :
   print("%c 문자의 소문자는  %c" % (ch,ch.lower()))
elif ch.islower() :
   print("%c 문자의 대문자는  %c" % (ch,ch.upper()))

'''
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("자연수를 입력하세요 : ")) #123
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 = []
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=",")   
    
    
print(aa[:10])
print(bb[len(bb)-1:len(bb)-11:-1])
    
'''
5. 다음 모레시계모양을 출력하기

*****   공백:0 *:5
 ***    공백:1 *:3
  *     공백:2 *:1
 ***    공백:5-3-1 *:3 5-(5-3)*2+1
*****   공백:5-4-1 *:5 5-(5-4)*2+1
'''    
row = int(input("모래시계의 높이를 홀수로 입력하세요 : "))

for i in range(0, row//2+1) :
     print(" "*i,end="")
     print("*" * (row-i*2))

for i in range(row//2+1,row) :
     print(" "*(row-i-1),end="")
     print("*" * (row-(row-i)*2 + 2))
728x90
반응형