【发布时间】:2018-04-09 19:46:47
【问题描述】:
在此代码中,从 float 转换为 int 不起作用。它总是打印一个float;之后所有整数都以.0 打印。
怎么了?
s = str(input())
if (len(s)/2)%2 == 0:
print(len(s)/2)
else:
print(int(round(len(s)/2/2)))
【问题讨论】:
-
这段代码想做什么?
-
无复制。如果我输入 1 我得到 0 作为输出,这显然是一个 int 而不是一个 float。
-
接受一个字符串作为输入并对其长度进行两次测试,在每种情况下我们都会有一个输出,但它必须是一个整数
-
您只能将结果转换为
else分支中的 int。如果您的代码进入if分支,它会输出一个浮点数。 -
欢迎来到 StackOverflow。请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布 MCVE 代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中并重现您描述的问题。
标签: python python-3.x casting int