a = [7, 1, 2, 3]
b = [1, 2, 3, 4, 60, 7]
c = [2, 3, 4, 5, 6, 7, 8, 9]
if a[0] == 7 or a[len(a)-1] == 7 :
print("True")
else :
print("False")
print("")
if b[0] == 7 or b[len(b)-1] == 7 :
print("True")
else :
print("False")
print("")
if c[0] == 7 or c[len(c)-1] == 7 :
print("True")
else :
print("False")
핵심은 len을 사용하는 것 !!! 좀 늦게 캐치했지만..ㅎㅎ
True or False 값으로 나올 때 난 왜 꼭 문자열 함수만 생각나는지..ㅠㅠ
if문 쓸 생각보다 str로 형변환 시켜서 할 생각만 한다... 더 복잡하게..
더 많은 프로그램을 짜봐야 할 것 같다.
'''
#퀴즈2
정수형 리스트에서 숫자7이 연달아 있거나, 한 칸 건너 있으면 True. 그렇지 않으면 False
[7, 1, 2, 3] => False
[1, 2, 3, 4, 7, 7] => True
[2, 3, 4, 5, 6, 7, 8, 7] => True
[1, 7, 1, 1, 7] => False
'''
list = [1, 2, 3, 4, 7, 7]
if list[list.index(7)] == list[list.index(7)+1] :
print("True")
elif list[list.index(7)] == list[list.index(7)+2] :
print("True")
else :
print("False")
'''
#퀴즈3
정수형 리스트에서 함수를 사용하지 않고 최대값과 최소값의 합을 구하시오.
[7, 1, 2, 3] => 8
[1, 2, 3, 4, 7, 7] => 8
[2, 3, 4, 5, 6, 7, 8, 7] => 10
[1] => 2
'''
list = [2, 3, 4, 5, 6, 7, 8, 7]
max = list[0]
min = list[0]
if len(list) != 1 :
for i in range(0, len(list)-1) :
if list[i] < min :
min = list[i]
if list[i] > max :
max = list[i]
print(min + max)
if len(list) == 1 :
print(list[0]+list[0])
사실 처음엔 왜 굳이 min, max, sort와 같이 편리한 기능을 사용하지 않고 굳이 돌아가야 하는지 의문이었다.
그런데 이번 기회로 반복문-변수 관계를 확실하게 이해할 수 있었다.
실제 코딩을 할 때는 편리하게, 짧게 하는 게 좋겠지만 나는 아직 배우는 단계이니 하나하나 꼼꼼히 완벽히 이해하고 넘어가는 게 더 중요하다는 것을 다시 한번 느낄 수 있었다.
min max를 처음에 기준값으로 정하고 들어간다는 것을 왜 생각을 못했을까....
변수로 처음부터 지정해두면 일일이 여러 경우를 생각하지 않았어도 됐는데..!!
'''
#퀴즈4
숫자와 문자의 조합에서 숫자만 골라 합계를 구하시오
'''
strnum = "aa1bv45"
sum = 0
for i in strnum :
if i.isnumeric() == True :
sum += int(i)
print(sum)
문자열에서 숫자를 추출하는 것까진 어렵지 않았는데, 그 추출한 숫자들을 더하는 게 너무 어려웠다.
이전에 탑승 승객 인원수 count 프로그램을 만들었던 게 번뜩 떠올라서 참고해서 += 을 찾아냈다.
하지만 그걸 어떤 변수에 넣을 것이냐.. 그게 더 높은 산이었다.
강사님이 sum에 0을 넣어야 한다고 말씀해주셔서 코드를 완성할 수 있었다.
퀴즈 쭉 풀면서 느낀 거지만, 나는 변수 사용에 어려움을 겪는 것 같다..
새로운 변수를 만들어 내는 것까지 머리가 안 돌아가는..ㅠㅠ
이건 연습만이 살 길이다.
더 많은 프로그래밍을 연습해야겠다..
'''
#퀴즈5
문자열에서 hi의 개수를 카운트 하시오.
**count 금지
"aahi" => 1
"hihi" => 2
"a hi" => 1
'''
str = "hihi"
cnt = 0
for i in range(0, len(str)) :
if str[i:i+2] == "hi" :
cnt += 1
print(cnt)
알고나면 진짜 간단한 건데 왜 해결을 못했을까..
list로 변환해서 인덱스 이용하려고까지는 생각했는데 문자열에서 슬라이싱 이용하는 건 생각을 못했다.
이건 내가 문자열 슬라이싱에 대해 연결을 못하고 있었기 때문이다.
전에 배운 것들 복습 철저히 해야겠다..ㅠㅠ
'파이썬(PYTHON) > 개념정리' 카테고리의 다른 글
[파이썬(Python)] mutable, immutable, 깊은 복사, 얕은 복사 (0) | 2022.09.17 |
---|---|
[파이썬(Python)] 크롤링 (0) | 2022.07.31 |
[파이썬(Python)] 정규표현식 (0) | 2022.07.30 |
[파이썬(Python)] SQL (0) | 2022.07.28 |
[파이썬(Python)] 클래스 (0) | 2022.07.23 |