그래서 우리 친구와 저는 우리 대학의 Intro to Python 수업에서 며칠 동안이 문제를 해결해 왔습니다. 그러나 우리는 많은 시간을 소비하지 않았기 때문에 조금 붙어 있습니다. 이 주제에 대해서. 우리의 문제는 "모든 제품 ID는 6 자 여야하며 세 자리 대문자로 시작해야합니다. 예를 들어 ABE123 및 PPL334는 유효한 제품 ID이지만 ABE1.2 및 P1L3R4는 유효하지 않습니다. 최소 입찰가 5 달러 및 대주주 500 달러 입찰가 : 달러 및 센트의 입찰가 허용 가능 (예 : 6.78) 다음 코드는 프롬프트 (키보드 입력)에서 입찰가를 읽고 제품 ID 및 입찰가를로드합니다 유감스럽게도 코드에는 완성 작업을 수행 할 입력 검증이 포함되어 있지 않습니다. " 선생님이 우리에게 코드를주었습니다. 입력 내용의 유효성을 검사하기 만하면됩니다. 그러나 자신의 기능처럼 코드 외부에서 수행되어야합니다. 코드는 다음과 같습니다.Python의 입력 유효성 검사
`def getbids():
products = []
bids = []
answer = "yes"
while answer == "yes":
productid = input("Enter the productID ")
bid = float(input("Enter the bid for one item "))
products.append(productid)
bids.append(bid)
answer = input("Are there more bids? ")
return products, bids`
기본적으로 Google은 별도의 기능으로 제품 ID와 입찰가의 유효성을 검사합니다. 여기에 코드가 있지만 우리가 가지고있는 것은 완벽하게 작동하지 않으며 정확하지 않습니다.
다음`def validprod(n):
caps="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
nums=""
m="Error"
if len(n)!=6:
print("Error, productID must be 6 digits,3 capital letters followed by 3 numbers")
return m
else:
while len(n)==6:
for i in range(3):
if n[i] not in caps or n[i+3] not in nums:
print("Error, productID must be 6 digits,3 capital letters followed by 3 numbers")
return m
else:
return n`
가 입찰의 하나입니다 : 여기 productId에 대한 하나이며 우리는 그것을 할 수있는 더 간단한 방법은 아마이 알고
`def validbid(x,y):
bid="Error"
while x=="Error":
return bid
while x!="Error":
if y>500 or y<5:
print("Error, bid must be between 5 and 500(do not include a dollar sign with your bid).")
return bid
else:
return y`
, 우리는 단지 그것을 알고하지 않습니다.
"완전히 작동하지 않고 정확하지 않습니다"- 구체적으로 무엇이 잘못 되었습니까? –
'caps'과'nums' 변수가리스트가 아니기 때문에 작동하지 않습니다. – baranskistad
productid와 입찰가를 확인하려면이 도구가 필요합니다. 요구 사항 (예 : ABC123 형식)이 아닌 경우 오류 메시지를 표시하고 나머지 기능을 계속 수행하지 않아야합니다. 위에 입력 한 내용은 잘못 입력 된 경우에도 유효하지 않은 제품 ID 및 입찰가를 반환합니다 (예 : aBC123 또는 ABc12F). 미안해, 그걸 거기 넣었어야 했어. –