python - python中的溢出错误?
问题描述
有一个 OverflowError: int too large to convert to float at
l = (number // 10)*n
这是什么意思以及如何解决?
这就是整个代码
def main():
count = 0
n = 10
t = int(input())
arr = []
for i in range(t):
number = int (input())
print(number)
while number != 0:
l = (number // 10)*n
print(l)
if l != 0:
count += 1
arr.append(l)
number = number / 10
n = n * 10
print(count)
print(arr)
if __name__ == '__main__':
main()
解决方案
当while
循环运行时,数值的变化不会影响while
条件。所以你必须break
循环使用if-else
.
def main():
count = 0
n = 10
t = int(input())
arr = []
for i in range(t):
number = int (input())
print(number)
while True:
l = (number // 10)*n
print(l)
if l != 0:
count += 1
arr.append(l)
number = number / 10
n = n * 10
if int(number) == 0:
break
print(count)
print(arr)
if __name__ == '__main__':
main()
输出:
2
25
25
20
0.0
1
[20]
推荐阅读
- ddev - 文件系统问题
- bash - 使用 ffmpeg 和 youtube-dl 从 Youtube 视频下载几秒钟的音频结果 [youtube]:没有此类文件或目录错误
- tableau-api - Tableau:显示每个工作日平均销售额的表格?
- node.js - 如果我打开开发控制台,谷歌浏览器会让我退出
- wordpress - 如何创建一个 WordPress 页面来过滤用户对问题的输入并相应地将它们引导到他们需要去的地方
- python - 将结构传递给 ctypes 中的 dll (freepie)
- python - 根据行中的第一个值向数据框添加新列
- java - 用大写字母初始化是什么意思?
- c# - 尝试导入 DTE 时在 CodeRefactoringProvider 初始化期间出现异常
- react-native - 关闭应用程序后 AsyncStorage 不保留数据