我正在尝试将 Pi 转换为分数,但我发现了一个错误,所以我不知道如何解决。
pi = 141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006
ans = 10
for i in int(pi):
if i.isint:
ans += str("0")
else:
active = False
s = str("3") + str(pi)
print(f"{s} / {ans}")
答案 0 :(得分:1)
您不能迭代整数值。您可以先将该值用作字符串。然后你可以使用 isdigit() 来检查给定的值是否是一个数字。最后,当您想要进行数学运算时,将它们转换为整数。您不需要将“0”转换为字符串,因为它已经是字符串了。
下面是一个例子:
pi = "141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006"
ans = "10"
for i in pi:
if i.isdigit():
ans += "0"
else:
active = False
s = "3" + pi
print(int(s) / int(ans))
这将返回 0.3141592653589793