파이썬 디버깅 연습
소프트웨어 개발자로서 새로운 직장에서 첫 주입니다. 당신은 환경을 설정했고 당신보다 며칠 먼저 시작한 동료 후배 옆에 앉았습니다.
그는 당신을 돌아보며 시간이 있는지 묻습니다.
"이봐, 괜찮다면 무슨 문제인지 좀 도와주세요..."
문제 1
문맥
모델 인스턴스의 표시 이름을 변경하려면 모델에서
def __str__()
함수를 사용합니다. django 모델의 str 함수는 해당 모델의 인스턴스 표시 이름으로 정확하게 렌더링되는 문자열을 반환합니다.예를 들어 다음과 같이 models.py에서 모델을 조정하면
from django.db import models
from django.db.models import Model
class SomeModel(Model):
name = models.CharField(max_length = 100)
def __str__(self):
return f"{self.name}"
SomeModel.objects.all()에 액세스할 때 출력은 이 객체의 이름 필드 목록이어야 합니다.
문제
댓글에는 작동하지 않습니다. Comment 객체를 출력할 때 str 아래에 정의된 것이 아닌 [Comment 객체(1)]을 출력합니다.
코드를 확인해 봅시다:
# imports here
class Listing(models.Model):
max_bid = models.DecimalField(...)
...
def __str__(self):
return ...
class Bid(models.Model):
...
class User(AbstractUser):
...
class Comment(models.Model):
comment = models.TextField()
listing = models.ForeignKey(Listing, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE)
def _str__(self):
return f'{self.id}: {self.comment}'
동료 팀원은 어디에서 잘못 되었습니까?
문제 2
문맥
당신의 동료가 다른 회사와 비밀리에 인터뷰를 하다가 min을 사용하지 않고 목록에서 min 값을 찾으라는 지시를 받았습니다.
문제
아래 코드는 목록에서 최소 요소를 찾지 못하는 것 같습니다. 왜요?
def minimum(some_list):
a = 0
for x in range(1, len(some_list)):
if some_list[x] < a:
a = some_list[x]
return a
동료 팀원은 어디에서 잘못 되었습니까?
Reference
이 문제에 관하여(파이썬 디버깅 연습), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/msoup/python-debugging-exercises-145h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)