首先,如果有类似的话题,我想向任何人道歉,但是我已经在寻找解决方案已有好几个小时了,但找不到任何东西。也许我不知道该怎么问。我对python和一般编程还是很陌生。
所以我的问题如下。我目前正在从事我的第一个小“项目”,而不仅仅是遵循指南或示例程序。我想做的是从用户输入位创建一个列表字符串,列表必须具有一个整数值,这就是我正在尝试的:
s1 = []
product = []
menu = 1
while menu > 0:
print("1. Add employee.")
print("2. Add a product.")
print("3. Add a sale")
print("4. quit")
action = int(input("what would you like to do? Select a number: "))
if action == 1:
name = input("Employee name: ")
s1.append(name)
elif action == 2:
temp = input("Select the name of the product: ")
value = int(input("What is the price of the product: "))
int_temp = temp
product.append(int_temp)
temp = value
elif action == 4:
menu = -1
我还尝试了以下方法:
temp = input("Select the name of the product? ")
product.append(temp)
value = int(input("What is the price of the product? "))
product[-1] = value
但是随后它只是用输入的整数替换乘积的字符串,我似乎无法使其成为可以在以后的计算中引用的字符串列表。我希望我对自己的问题和目标的解释足够清楚。
答案 0 :(得分:0)
您的代码包含一些错误,以下已提及。删除它们,然后重试
从输入语句中删除打印:
请更改此行:
name = input(print("Employee name: "))
对此:
name = input("Employee name: ")
在此代码行之前:
product.append(int_temp)
确保以如下方式启动产品列表:
product = list()
下面是这一行:
product[-1] = value
将更改产品列表中的最后一个值,因为-1代表最后一个索引,-2代表倒数第二个,依此类推。
答案 1 :(得分:0)
根据您的评论,我想如果要映射产品名称和产品价格,可以使用词典而不是列表。因此,代码如下所示
employees = []
products = {}
menu = 1
while menu > 0:
print("1. Add employee.")
print("2. Add a product.")
print("3. Add a sale")
print("4. quit")
action = int(input("what would you like to do? Select a number: "))
if action == 1:
name = input("Employee name: ")
employees.append(name)
elif action == 2:
product_name = input("Select the name of the product: ")
product_price = int(input("What is the price of the product: "))
products[product_name] = product_price
elif action == 4:
menu = -1
然后在您的代码后面,您可以简单地这样做。
sales = products['apples'] * 100
或
sales = products.get('apples', 0) * 100
希望这会有所帮助!