python - 我可以使用 pop() 函数来传递用户输入吗?
问题描述
我有一个家庭作业问题,我想稍微改进一下。这个想法是允许用户在给定一些选项的情况下“选择要放入背包的物品”。我把那部分记下来了。我想做的是使用 pop() 函数从列表中删除通过用户输入“选择”的项目。如何让 pop() 以字符串数字 1-4 的形式传递随机用户输入?
我尝试将 pop() 中的值设置为“input()”和“itemToAdd”变量。
import sys
itemsForBackpack = ["1", "2", "3", "4"]
itemsForBackpack = ["book", "computer", "keys", "travel mug"]
while True:
print("Would you like to:")
print("1. Add an item to the backpack?")
print("2. Check if an item is in the backpack?")
print("3. Quit")
userChoice = input()
if(userChoice == "1"):
print("What item do you want to add to the backpack?" + " Select the number representing the item you wish from left to right eg '1 = book'."+ str(itemsForBackpack))
itemToAdd = input()
if itemToAdd == "1":
print(str(itemsForBackpack[0]))
elif itemToAdd == "2":
print(str(itemsForBackpack[1]))
elif itemToAdd == "3":
print(str(itemsForBackpack[2]))
elif itemToAdd == "4":
print(str(itemsForBackpack[3]))
return_value = itemsForBackpack.pop()
print('return_value: ', return_value)
print("Updated List: ", itemsForBackpack)
break
if(userChoice == "2"):
print("What item do you want to check to see if it is in the backpack?")
itemToCheck = input()
我认为它需要一个整数,因为我收到一条错误消息,指出字符串不能显示为整数。
解决方案
如果我正确理解了您的问题,您可以这样做:
itemsForBackpack = ["book", "computer", "keys", "travel mug"]
itemToAdd = "2"
print('before:', itemsForBackpack)
print('removing: ', itemsForBackpack.pop(int(itemToAdd)-1))
print('after:', itemsForBackpack)
输出:
before: ['book', 'computer', 'keys', 'travel mug']
removing: computer
after: ['book', 'keys', 'travel mug']
要删除随机项目,您可以使用random.choice()
进行选择,并使用列表的remove()
方法来摆脱它(而不是pop()
):
import random
itemsForBackpack = ["book", "computer", "keys", "travel mug"]
randomItemToRemove = random.choice(itemsForBackpack)
print('before:', itemsForBackpack)
print('removing: ', randomItemToRemove)
itemsForBackpack.remove(randomItemToRemove)
print('after:', itemsForBackpack)
推荐阅读
- c - Linux,C - 是否可以链接到具有相同函数名称的 2 个动态库
- python-3.x - 从熊猫数据框中删除花括号
- javascript - 为什么我的模型没有自动选择 angularjs 中的单选按钮?
- linux - 使用 openssl 创建证书
- c# - 需要一些关于自定义字符表的帮助和提示
- reactjs - 如何将记住登录详细信息按钮添加到我的网站?
- intellij-idea - 如何扩展 IntelliJ IDEA 类路径?
- java - Java使用变量绘制几何图形
- python - 多线程和 SQLAlchemy-Sessions:如何创建会话?
- android - Exoplayer 不能只播放 HLS 的音频