我正在尝试获得预期值,但我似乎遇到了麻烦。我将输入值转换为整数,我认为这就是错误的来源。我知道 int 不能将空字符串转换为整数,但是在测试它时我有一个值。
错误:
TypeError: 'int' object is not subscriptable
我能做些什么来解决这个问题?
def print_menu():
print('1. Add a Stock')
print('2. Recommend Sale')
print('3. Quit')
print()
expected_value = {}
menu_choice = 0
print_menu()
while menu_choice != 3:
menu_choice = int(input("Type in a number (1-3): "))
if menu_choice == 1:
print("Add Name, Prices, Risk, Shares")
name = input("Name: ")
price = input("Buyers Price: ")
Cprice = input("Current Price: ")
srisk = input("Risk: ")
sshares = input("Shares: ")
Expected_Sale_value = ((int(Cprice) - int(price)) - int(srisk) * int(Cprice)) * int(sshares)
expected_value[name] = Expected_Sale_value
elif menu_choice == 2:
print("Expected Sale values")
for x in expected_value.keys():
print("Stock: ", x, "\tExpected value:", Expected_Sale_value[x])
print()
elif menu_choice != 3:
print_menu()
我是 python 新手,我知道 python 有它的技巧!说我问是否有任何提示,或者您看到我可以改进的地方,请给我一些见解。
示例(空闲):
- 添加股票
- 推荐销售
- 退出
输入数字 (1-3):1
添加名称、价格、风险、股份
名称:Google
买家价格:21
当前价格:20
风险:1
股份:2
输入数字 (1-3):2
预期销售价值
Traceback(最近一次调用最后一次):
文件“”,第 25 行,在
print("Stock: ", x, "\tExpected value:", Expected_Sale_value[x])
TypeError: 'int' object is not subscriptable