오늘 한 것
Day3, Day4 실습 해결해 보기
문제는 보안상 이유로 내 코드만 나열
number_of_people = 0
number_of_book = 100
name = ['김시습', '허균', '남영로', '임제', '박지원']
age = [20, 16, 52, 36, 60]
address = ['서울', '강릉', '조선', '나주', '한성부']
many_user = None
def increase_user():
global number_of_people
print(f'{name[number_of_people]}님 환영합니다!')
number_of_people += 1
return number_of_people
def create_user(name,age, address):
global number_of_people
increase_user()
return {'name':name,'age':age,'address':address}
many_user = list(map(create_user,name,age,address))
info = list(map(lambda x : {'name' : x['name'], 'age': x['age']//10},many_user))
def decrease_book(number):
global number_of_book
number_of_book -= number
print(f'남은 책의 수 : {number_of_book}')
def rental_book(info):
decrease_book(info['age'])
print(f"{info['name']}님이 {info['age']}권의 책을 대여했습니다.")
list(map(rental_book, info))
lv2 -2 내 코드
food_list = [ { '종류': '한식', '이름': '잡채' }, { '종류': '채소', '이름': '토마토' }, { '종류': '중식', '이름': '자장면' }, ] # 아래에 코드를 작성하시오. for i in food_list: if i['이름'] == '토마토': i['종류'] = '과일' elif i['이름'] == '자장면': print('자장면엔 고춧가루지') print(f"{i['이름']} 은/는 {i['종류']} (이)다 ") print(food_list) # while 문 i = 0 while i<len(food_list): food="food_list[i]" if="" food['이름']="='토마토':" food['종류']="과일" elif="" '자장면':="" print('자장면엔="" 고추가루지')="" print(f" {food['종류']}="" 이다." i="" +="1" print(food_list)<="" code=""></len(food_list):>
lv3 -1 내 코드
import requests from pprint import pprint as print # 무작위 유저 정보 요청 경로 dummy_data = [] for i in range(1,11): API_URL = f'https://jsonplaceholder.typicode.com/users/{i}' # API 요청 response = requests.get(API_URL) # JSON -> dict 데이터 변환 parsed_data = response.json() if -80 < float(parsed_data['address']['geo']['lat']) < 80 and -80 < float(parsed_data['address']['geo']['lng']) < 80: dict_data = { 'company' : parsed_data['company']['name'], 'name' : parsed_data['name'], 'lat' : parsed_data['address']['geo']['lat'], 'lng' : parsed_data['address']['geo']['lng'], } dummy_data.append(dict_data) print(dummy_data)
lv3-2 내 코드
matrix = [ ['0, 1', '0, 2', '0, 3'], ['1, 0', '1, 1', '1, 2', '1, 3'], ['2, 0', '2, 1', '2, 2', '2, 3', '2, 4'], ['3, 0', '3, 1'], ['4, 0', '4, 1', '4, 2'], ['5, 0'] ] # 아래애 코드를 작성하시오. matrix_len = 0 # print(len(matrix)) for i in matrix: matrix_len +=1 print(matrix_len) for number in matrix: temporary_len = 0 for i in number: temporary_len +=1 if temporary_len <= 4: print(f'{number}리스트는 {temporary_len}개 만큼 요소를 가지고 있습니다.') for x in range(len(matrix)): for y in range(len(matrix[x])): print(f'matrix의 {x},{y}번째 요소의 값은 {matrix[x][y]}입니다.')
발생했던 문제
1. request 모듈이 깔려있고, 문제가 발생하지 않았음에도 import가 되지 않았던 문제
- request 버전 2.31.0
pip install requests
했을 때Reqyurenebt akready satusfued
5 줄 정도 나옴- 하지만
Import "requests" could not be resolved from source Pylance``[reportMissingModuleSource](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportMissingModuleSource)
발생 (warning) - 실행했을 때 에러 발생
Traceback (most recent call last): File "c:Desktop\TIL\test.py", line 1, in import requests ModuleNotFoundError: No module named 'requests'
해결방법
python test.py 으로 터미널에서 실행 시 정상 작동함
Run Python File
버튼으로 안된 이유 : interpriter의 문제가 있었다.
Recommended 인 3.12.1 64-bit 을 사용했었는데, Conda인 3.9.7(’base’) 버전으로 변경해서 해결했음
2. 매개변수와 인수의 활용이 부족했음
- 매개변수를 무의식적으로 비워놓고 짬
- return 값의 활용이 너무 부족함
해결방법 : gpt로 부분부분 물어보기, 공부열심히 하기…
<script src="https://unpkg.com/prismjs@1.22.0/components/prism-core.min.js"></script><script src="https://unpkg.com/prismjs@1.22.0/plugins/autoloader/prism-autoloader.min.js"></script><script>MathJax = { tex: { inlineMath: [['$', '$']] } };</script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
'TIl' 카테고리의 다른 글
데이터 구조1 (1) | 2024.01.22 |
---|---|
Weekly 일, 파이썬 복습 (1) | 2024.01.21 |
관통 PJT 1 (1) | 2024.01.20 |
모듈, 제어문 (0) | 2024.01.18 |
함수, 재귀 함수, Packing (0) | 2024.01.17 |