Project1

标题: 好奇怪的问题,谁能救救我 [打印本页]

作者: 青梅不酸    时间: 2026-2-5 21:02
标题: 好奇怪的问题,谁能救救我
recover_hp = maxhp * item.recover_hp_rate / 100 + item.recover_hp
好奇怪像上面的代码,“/” 换成其他运算符号就没问题,用“/”就会报错,
哪怕其他好的地方复制一个来也会报错。不知道是什么问题,
反正用除号的地方就会报错,也不是一定会报错
作者: imsy    时间: 2026-2-5 23:03
所以 报的错是什么呢(总不能是ZeroDivisionError吧(
作者: soulsaga    时间: 2026-2-6 06:49
0除100会如何
作者: 青梅不酸    时间: 2026-2-6 09:31
soulsaga 发表于 2026-2-6 06:49
0除100会如何

语法错误syntaxerror
作者: 青梅不酸    时间: 2026-2-6 09:32
imsy 发表于 2026-2-5 23:03
所以 报的错是什么呢(总不能是ZeroDivisionError吧(

syntaxerror
作者: 百里_飞柳    时间: 2026-2-6 17:28
没感觉到这一行会有什么问题,
你在前面再加个 p [maxhp, item.recover_hp_rate, item.recover_hp] 看看报错时的各项数值有没有问题?
作者: 小怪兽奇奇侠    时间: 2026-2-6 17:44
既然除法会报错,为何不换成乘法一试呢?须知除以100就是乘以0.01,何不舍除法而取乘法,以达所愿呢?
作者: 青梅不酸    时间: 2026-2-6 18:19
原因没找到但是解决了

作者: ppspssss2    时间: 2026-2-7 22:35
recover_hp = maxhp * item.recover_hp_rate / 100.0 + item.recover_hp

需在100后加入.0 因为本身要浮点数,如果 maxhp * item.recover_hp_rate 这个值是浮点数(小数)的话,100后就必须加入.0让这个数变成浮点数,不然100这个值是一个整数型
要是 maxhp * item.recover_hp_rate 本来就整数型应该就不用加? 要是你弄了maxhp值或item.recover_hp_rate值其中一个变成浮点数的话,就需要加.0

类似的状况在官方脚本里搜“.0"可以找到, 但官方计算后是将其转回int(整数型) 若是需把数值转回整数型Integer()或者.to_i




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1