代码
print(coins_in_the_bag) #{'Bug Out Bag': ['q', 0.25, 100], 'sm': ['q', 0.25, 10]}
print('\n')
print('for bag: {}\n total:{} '.format(
my_bag,
for b in my_bag:
total = float(coins_in_the_bag[b][1])*float(coins_in_the_bag[my_bag][2]))
total
)
如何在我的print语句中的second parameter
中进行循环?
我想要实现的目标:
Bug Out Bag:
Total: 25
sm:
2.5
我收到错误:
for b in my_bag:
^
SyntaxError: invalid syntax
谢谢
答案 0 :(得分:1)
清理你写的答案
my_coin = coins_in_the_bag[my_bag]
original_total = float(my_coin[1])*float(my_coin[2])
print('for bag: {}\n original{}\n new total:{}\n '.format(
my_bag,
original_total,
original_total - float(amount_to_move)
)
)
答案 1 :(得分:0)
如果你想使用for
循环,它必须在print
之前作为自己的陈述;你不能使用任意代码作为表达式。
total = 0
for b in my_bag:
total += float(coins_in_the_bag[b[1]])*float(coins_in_the_bag[my_bag][2]))
print('for bag: {}\n total:{} '.format(my_bag, total))
但是,你可以编写一个表达式来计算总和而不使用for
循环。例如,
print('for bag: {}\n total:{} '.format(
my_bag,
sum(float(coins_in_the_bag[b[1]])*float(coins_in_the_bag[my_bag][2])) for b in my_bag)
)
答案 2 :(得分:0)
我能够解决这个问题,我希望这会有所帮助!
print('for bag: {}\n original{}\n new total:{}\n '.format(
my_bag,
float(coins_in_the_bag[my_bag][1])*float(coins_in_the_bag[my_bag][2]),
float(coins_in_the_bag[my_bag][1])*float(coins_in_the_bag[my_bag][2]) - float(amount_to_move)
)
)