请考虑以下代码:
0.1 + 0.2 == 0.3 -> false
Run Code Online (Sandbox Code Playgroud)
0.1 + 0.2 -> 0.30000000000000004
Run Code Online (Sandbox Code Playgroud)
为什么会出现这些不准确之处?
在Python中,我如何解析数字字符串,如"545.2222"相应的浮点值,545.2222?或者将字符串解析为"31"整数,31?
我只是想知道如何将一个浮点数 解析str为a float,并且(单独)将一个int 解析str为一个int.
鉴于:
a = 1
b = 10
c = 100
Run Code Online (Sandbox Code Playgroud)
如何为少于两位数的所有数字显示前导零?
那是,
01
10
100
Run Code Online (Sandbox Code Playgroud) 我正在创建一个程序,由于不需要解释的原因,需要将float转换为字符串以使用len()进行计数.但是,str(float(x))导致x在转换为字符串时被舍入,这会抛出整个事物.有谁知道它的修复?如果你想知道,这是使用的代码:
len(str(float(x)/3))
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个文本游戏,我在我定义的函数中遇到了一个错误,让你在制作角色后基本上可以花费你的技能点数.起初,错误表明我试图从代码的这一部分中的整数中减去一个字符串:balance - strength.显然这是错的,所以我用strength = int(strength)... 修复它但是现在我得到了这个我以前从未见过的错误(新程序员)而且我很难说它到底想要告诉我什么以及我如何修复它.
这是我的函数部分无法正常工作的代码:
def attributeSelection():
balance = 25
print("Your SP balance is currently 25.")
strength = input("How much SP do you want to put into strength?")
strength = int(strength)
balanceAfterStrength = balance - strength
if balanceAfterStrength == 0:
print("Your SP balance is now 0.")
attributeConfirmation()
elif strength < 0:
print("That is an invalid input. Restarting attribute selection. Keep an eye on your balance this time!")
attributeSelection()
elif strength > balance:
print("That is …Run Code Online (Sandbox Code Playgroud) 我想将我的整数列表转换为字符串.这是我如何创建整数列表:
new = [0] * 6
for i in range(6):
new[i] = random.randint(0,10)
Run Code Online (Sandbox Code Playgroud)
像这样:
新== [1,2,3,4,5,6]
输出=='123456'
我知道 java 和 python 处理字节的方式不同,所以我对如何将 byte[] 转换为 python 字符串有点困惑 我在 java 中有这个 byte[]
{ 118, -86, -46, -63, 100, -69, -30, -102, -82, -44, -40, 92, 0, 98, 36, -94 }
Run Code Online (Sandbox Code Playgroud)
我想将它转换为 python 字符串,这就是我的做法
b=[118, -86, -46, -63, 100, -69, -30, -102, -82, -44, -40, 92, 0, 98, 36, -94]
str=""
for i in b:
str=str+chr(abs(i))
Run Code Online (Sandbox Code Playgroud)
但我不太确定这是否是正确的方法。
假设我有以下输入:
1234
Run Code Online (Sandbox Code Playgroud)
如何获得以下输出?
3412
Run Code Online (Sandbox Code Playgroud)
这是通过循环移位(或旋转)输入的数字两次获得的.
我试过以下代码:
number = 1234
bin(number >> 1)
Run Code Online (Sandbox Code Playgroud)
但它没有产生我期待的结果.
def tuplify(number):
x = str(number)
if len(x) <= 0:
return 0
lst = []
for i in range(0,10):
if i == x[len(x)-1]:
lst.append(i)
return tuple(lst)
Run Code Online (Sandbox Code Playgroud)
这是我的代码,我无法得到我想要的输出.
tuplify(102486) 这应该给我 (1, 0, 2, 4, 8, 6)
鉴于此列表:
>>> a = "123DJY65TY"
>>> list(a)
['1','2','3','D','J','Y','6','5','T','Y']
Run Code Online (Sandbox Code Playgroud)
如何生成一个整数不被视为字符串的列表?像这样:
[1,2,3,'D','J','Y',6,5,'T','Y']
Run Code Online (Sandbox Code Playgroud) 我的代码:
def digit_sum(n):
result = 0
s = str(n)
for c in s:
result += (int)c # invalid syntax??????????
return result
print digit_sum(1234)
Run Code Online (Sandbox Code Playgroud)
结果:
result += (int)c # invalid syntax??????????
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
该函数应该返回参数"n"的每个数字的总和.为什么我要SyntaxError进入评论栏?变量c属于string 类型,因此应用类型转换应该不是问题int.