如何使其在输入为"!"的情况下,它不等待valueInput并立即打印字典?
itemInput = input()
valueInput = int(input())
while itemInput != '!':
if itemInput in groceryDict.keys():
groceryDict[itemInput] += valueInput
else:
groceryDict[itemInput] = valueInput
itemInput = input()
valueInput = int(input())
else:
print(groceryDict)
例如,如果有人输入完他们的列表,他们会输入"!",但是dict不会打印,因为它正在等待再次请求valueInput,并且用户必须在dict打印之前输入一个值。那么,我应该把valueInput和itemInput提示符正确地放在代码中的哪里呢?
您应该只在控制项目名称后输入一个值:
itemInput = input()
while itemInput != '!':
valueInput = int(input())
if itemInput in groceryDict.keys():
groceryDict[itemInput] += valueInput
else:
groceryDict[itemInput] = valueInput
itemInput = input()
print(groceryDict)
或者只有一个项目输入:
itemInput = input()
while True:
itemInput = input().strip() # ignore leading or ending blank characters
if itemInput == '!': break
valueInput = int(input())
if itemInput in groceryDict.keys():
groceryDict[itemInput] += valueInput
else:
groceryDict[itemInput] = valueInput
print(groceryDict)
只需中断
itemInput = input()
valueInput = int(input())
while True:
if itemInput in groceryDict.keys():
groceryDict[itemInput] += valueInput
else:
groceryDict[itemInput] = valueInput
itemInput = input()
if itemInput == '!':
print(groceryDict)
break
valueInput = int(input())
您可以尝试以下操作:
groceryDict = {}
while True:
itemInput = input("Enter Item:")
if itemInput == "!":
break
valueInput = int(input("Enter Value for Item:"))
if itemInput in groceryDict.keys():
groceryDict[itemInput] += valueInput
else:
groceryDict[itemInput] = valueInput
print(groceryDict)
循环将继续,直到if语句变为True
,而break
导致结束它。接下来,将if语句直接放在该项的输入后面。这样,在循环结束之前,用户就不必再输入值了。
对用户要聪明,告诉他/她/它要输入什么。;-(
break
可能会有所帮助:
if itemInput == '!':
print(groceryDict)
break