用python进行数学测验

用python进行数学测验,python,math,Python,Math,我试着用随机数做一个数学测验,如果我输入100,就说问题是10*10,如果输入100,就会说我的答案错了。其他一切都很好,只是这一点错了 ans和c是不同类型的。因为您从控制台读取ans,所以它是一个字符串,而不是一个数字,而c是通过乘以2个数字来计算的,所以它是一个数字。有两种方法可以解决这个问题,一种是将ans转换为int(ans)而不是ans,另一种是将c转换为str(c)而不是c的字符串。ans和c属于不同的类型。因为您从控制台读取ans,所以它是一个字符串,而不是一个数字,而c是通过乘

我试着用随机数做一个数学测验,如果我输入100,就说问题是10*10,如果输入100,就会说我的答案错了。其他一切都很好,只是这一点错了

ans和c是不同类型的。因为您从控制台读取ans,所以它是一个字符串,而不是一个数字,而c是通过乘以2个数字来计算的,所以它是一个数字。有两种方法可以解决这个问题,一种是将ans转换为int(ans)而不是ans,另一种是将c转换为str(c)而不是c的字符串。

ans和c属于不同的类型。因为您从控制台读取ans,所以它是一个字符串,而不是一个数字,而c是通过乘以2个数字来计算的,所以它是一个数字。有两种方法可以解决这个问题,将ans转换为int(ans)而不是ans,或者将c转换为str(c)而不是c的字符串。

如果
ans
是字符串而
c
是int,则可能是类型不匹配。问题是,用户输入的值是字符串,您将字符串与int
c=str(a*b)进行比较
您可能也感兴趣:如果
ans
是字符串,而
c
是int,则可能是类型不匹配。问题是,用户输入的值是字符串,您将字符串与int
c=str(a*b)进行比较可能您也感兴趣:
import random

def mathquiz():
    name = str(input("Whats your name?:"))
    a = random.randint(1,10)
    b = random.randint(1,10)
    c = (a * b)
    timesby = ("*")
    print('what is', + a, timesby, + b)
    ans = input("Enter your answer here")
    if ans == c:
        print("Thats correct")
    else:
        print ("Incorrect the answer is", + c)