将两个整数相除并打印时出现 TypeError

Posted

技术标签:

【中文标题】将两个整数相除并打印时出现 TypeError【英文标题】:TypeError when dividing two integers and printing 【发布时间】:2021-08-23 03:18:48 【问题描述】:

该程序应该取两个数字,在“findRemainder”函数中将它们相除并打印余数。

num1=input("Enter a number: ")
num2=input("Enter the divisor: ")
result = 0
def findRemainder(x, y):
    result = (x%y)
    print(str(result))
findRemainder(num1, num2)

但是,当代码运行时,它会返回此错误:

第 5 行,在 findRemainder 中

结果 = (x%y)

TypeError:字符串格式化期间并非所有参数都转换

【问题讨论】:

input 作为字符串读入,您需要将其转换为int 才能在您的函数中使用 【参考方案1】:

您没有将字符串转换为整数。在找到余数之前,您必须将输入字符串转换为整数。像这样,

num1 = int(input("Enter a number: "))
num2 = int(input("Enter the divisor: "))
result = 0

def findRemainder(x, y):
    result = (x % y)
    print(str(result))

findRemainder(num1, num2)

【讨论】:

以上是关于将两个整数相除并打印时出现 TypeError的主要内容,如果未能解决你的问题,请参考以下文章

将两个整数(一大一小)相除时得到错误答案

在java中不使用乘法,除法和mod运算符将两个整数相除

将两个整数相除时,Clang 会产生奇怪的输出

辗转相除

java 两个整数相除 结果为一位小数

使用 graphql-tools 打印远程模式时出现 getDirectives 错误