如何先将数值乘以100再转换为字符串,修正Python print代码?
问题定位
你写的原始代码存在两处核心错误:
- 运算顺序不符合需求:你先调用
str(score / 5)把数值转成了字符串,再执行*100会触发字符串重复逻辑,而非数值乘法运算 - 语法错误:
print函数的右括号位置错误,后半段拼接的"%.被放在了print的参数外,运行会直接报错
修正后的代码
按照先做数值计算、再转字符串的要求,调整运算优先级、修正括号匹配即可:
print("You got " + str((score / 5) * 100) + "%.")
如果是Python 3.6及以上版本,更推荐用f-string写法,可读性更高也不容易出现拼接和运算顺序错误:
print(f"You got {(score / 5) * 100}%.")
修改说明
- 给数值运算部分套上括号
(score / 5) * 100,保证所有数值计算完成后再调用str()转成字符串 - 把所有字符串拼接的逻辑都放到
print函数的括号内,修正语法错误
内容的提问来源于stack exchange,提问作者MoonWater
相关产品推荐
相关产品推荐

