Python 模数给出字符串格式错误

标签 python modulus

我正在尝试在 python 中执行一个值的模数,但据我所知,我遇到了错误,因为它将模数解释为字符串格式常量。我最初的猜测是对它进行类型转换,但它随后挂起。

    val = pow(a,n,p)
    val = y1*val
    val = val % p

这两行代码是不是对应这道题。现在,当我运行它时,我得到: TypeError:并非所有参数都在字符串格式化期间转换 在第二行。

如果我将 val 包装成一个整数并对其进行类型转换...计算时间会非常长。

我对 python 不是很熟练,我猜我错过了一些简单的东西,但是什么?

最佳答案

如果 yu 得到这个错误,y1 本身就是一个字符串。您不能使用字符串执行数值计算 - 当您执行“int(y1) ”时 - 它不是强制转换,而是将字符串中字符表示的数字转换为实际数值 - 这是您可以的唯一方法对其进行数值运算。

如果它是 takin thta log,这很可能是因为您正在尝试将“y1 * val”转换为 int - 这已经是错误的 - 如果 y1 是一个字符串,“y1 * val”会为您提供连接到自身的 y1 “val” "次 - 所以这将是一个非常巨大的数字。在乘法之前,您需要将“y1”中的值作为数字 - 如:

val  = int(y1) * val

关于Python 模数给出字符串格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9792387/

相关文章:

algorithm - O(nlogn) 算法最小化 abs(x+y)

javascript - 使用 Modulus 为 jquery 循环自定义寻呼机返回

python - 如何使用Python检查字符串是否是有效的shell命令?

python - 正则表达式匹配相同分隔符之间的多个结果

java - 如何在 while 循环中使用模数来获取整数的各个数字?

java - 为什么 4 % -8 等于 4?

algorithm - 如何检查大十进制数是否可以除以 2^x 或 5^x

python - 用 Pandas 计算天气高于特定温度的连续天数

python - 即使对于服务器上的单个基于 django 的应用程序,是否也建议使用 virtualenv?

python - 正则表达式以匹配除注释掉的图像 URL 之外的任何图像 URL