제품 부품 = 'ABCDEF'문자열이 있습니다. 각 문자는 시작 값이 100이라고 가정합니다. 사용자는 선택한 특정 문자에 숫자를 추가해야하며 그에 따라 해당 문자의 값이 업데이트됩니다. 이 코드에 사전을 사용해서는 안됩니다. [?]가있는 것 외에는 대략적으로 알고있는 것을 썼습니다.
def updateInventory():
startLevel = 100
partIds = 'ABCDE'
stockLevel = [startLevel] * len(partIds)
productCodes = []
while True:
partIdentifier = input("Enter part identifier or <ENTER> to end: ").upper()
if partIdentifier == '':
break
# partIdentifier must be in partIds
if partIdentifier not in partIds:
print("The part identifier is invalid")
else:
#print the part and its current quantity
print(f"Current stock level for {partIdentifier} = [?]")
while True:
# user tp input how much quantity to add
quantity = int(input("Enter quantity to add: "))
if quantity < 0:
print("The quantity is invalid")
else:
partIds[partIdentifier] += quantity
print(f"Updated stock level for {partIdentifier} = [?]")
break
updateInventory()
끝낼 부품 식별자 또는 ENTER 입력 : T
부품 식별자가 잘못되었습니다.
끝낼 부품 식별자 또는 ENTER 입력 : E
E = 100의 현재 재고 수준
추가 할 수량 입력 : 0
수량이 잘못되었습니다.
끝낼 부품 식별자 또는 ENTER 입력 : E
E = 100의 현재 재고 수준
추가 할 수량 입력 : 25
E = 125에 대한 재고 수준 업데이트
도우미 함수 작성을 사용 stockLevel
하여 특정에 대해 업데이트 할 의 인덱스를 가져올 수 있습니다 partId
.
무엇을 않습니다 index = partIds.index(partIdentifier)
할
한 줄에서 StockLevel_list에 해당하는 일치하는 입력 문자의 액세스 위치를 가져옵니다.
partIdentifier 는 input char (ex. E)
이고, partIds 는 string ABCDE
이며, index
ABCDE 문자열에서 주어진 문자의 문자 위치를 가져 오려고 시도한 다음 해당 인덱스를 사용하여 StockLevel 목록에 액세스하고 업데이트합니다. stocklevel은 partId에 대한 참조로 생성되므로 인덱스가 동일합니다.
def updateStock(partIds, stockLevel, ipartIdentifier, quantity):
index = partIds.index(ipartIdentifier)
stockLevel[index] += quantity
return stockLevel
def getStockval(partIds, stockLevel, ipartIdentifier):
index = partIds.index(ipartIdentifier)
return stockLevel[index]
def updateInventory():
startLevel = 100
partIds = 'ABCDE'
stockLevel = [startLevel] * len(partIds)
productCodes = []
while True:
partIdentifier = input(
"Enter part identifier or <ENTER> to end: ").upper()
if partIdentifier == '':
break
# partIdentifier must be in partIds
if partIdentifier not in partIds:
print("The part identifier is invalid")
else:
# print the part and its current quantity
print("Current stock level for {0} = {1}".format(partIdentifier,
getStockval(partIds, stockLevel, partIdentifier)))
while True:
# user tp input how much quantity to add
quantity = int(input("Enter quantity to add: "))
if quantity < 0:
print("The quantity is invalid")
else:
stockLevel = updateStock(
partIds, stockLevel, partIdentifier, quantity)
print("Updated stock level for {0} {1}".format(partIdentifier,
getStockval(partIds, stockLevel, partIdentifier)))
break
updateInventory()
산출:
Enter part identifier or <ENTER> to end: a
Current stock level for A = 100
Enter quantity to add: 50
Updated stock level for A = 150
Enter part identifier or <ENTER> to end: e
Current stock level for E = 100
Enter quantity to add: 25
Updated stock level for E = 125
Enter part identifier or <ENTER> to end: a
Current stock level for A = 150
Enter quantity to add: 12
Updated stock level for A = 162
Enter part identifier or <ENTER> to end:
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다