输入中的打印语句返回"none

0 投票
1 回答
5851 浏览
提问于 2025-04-18 10:40

我正在做一个小程序,我想使用:

ans = int(input(print(multi,'x',num,'=')))

这个方法运行得很好,除了它在打印完内容后还会显示“none”。比如:

49 x 7 =
None

有没有办法去掉这个“none”?我也搜索过这个问题,但没有找到关于在输入中返回“none”的相关内容。

1 个回答

8

input 函数需要一个 prompt 字符串作为参数,这个字符串会自动显示出来。但是 print 函数返回的是 None,而这个 None 就是被 input 打印出来的。所以你的代码其实是等同于:

prompt = print(...) # prompt == None
ans = int(input(prompt)) 

相反,你可以使用 str.format 来构建提示信息,然后直接传给 input

ans = int(input('{0}x{1}='.format(multi, num)))

撰写回答