相关疑难解决方法(0)

浮点数学是否破碎?

请考虑以下代码:

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)

为什么会出现这些不准确之处?

language-agnostic math floating-point floating-accuracy

2798
推荐指数
28
解决办法
28万
查看次数

如何在Python中将字符串解析为float或int?

在Python中,我如何解析数字字符串,如"545.2222"相应的浮点值,545.2222?或者将字符串解析为"31"整数,31

我只是想知道如何将一个浮点数 解析str为a float,并且(单独)将一个int 解析str为一个int.

python floating-point parsing integer type-conversion

2108
推荐指数
21
解决办法
371万
查看次数

显示前导零的数字

鉴于:

a = 1
b = 10
c = 100
Run Code Online (Sandbox Code Playgroud)

如何为少于两位数的所有数字显示前导零?

那是,

01
10
100
Run Code Online (Sandbox Code Playgroud)

python integer string-formatting

819
推荐指数
14
解决办法
71万
查看次数

将float转换为字符串而不对其进行舍入

我正在创建一个程序,由于不需要解释的原因,需要将float转换为字符串以使用len()进行计数.但是,str(float(x))导致x在转换为字符串时被舍入,这会抛出整个事物.有谁知道它的修复?如果你想知道,这是使用的代码:

len(str(float(x)/3))
Run Code Online (Sandbox Code Playgroud)

python string floating-point rounding

83
推荐指数
2
解决办法
42万
查看次数

TypeError:无法隐式地将'int'对象转换为str

我正在尝试编写一个文本游戏,我在我定义的函数中遇到了一个错误,让你在制作角色后基本上可以花费你的技能点数.起初,错误表明我试图从代码的这一部分中的整数中减去一个字符串: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)

python string int implicit

62
推荐指数
1
解决办法
21万
查看次数

在Python中将整数数组转换为字符串

我想将我的整数列表转换为字符串.这是我如何创建整数列表:

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'

python string int list

9
推荐指数
3
解决办法
3万
查看次数

如何将 java byte[] 转换为 python 字符串?

我知道 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)

但我不太确定这是否是正确的方法。

python java string

5
推荐指数
1
解决办法
6781
查看次数

在Python中循环移位(或旋转)数字的数字

假设我有以下输入:

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)

但它没有产生我期待的结果.

python bit-shift digits

3
推荐指数
1
解决办法
587
查看次数

Tuplify一些

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)

python

1
推荐指数
1
解决办法
450
查看次数

不将整数视为列表中的字符串

鉴于此列表:

>>> 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)

python list

0
推荐指数
1
解决办法
53
查看次数

将字符串转换为int时出现语法错误

我的代码:

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.

python string int

0
推荐指数
1
解决办法
1093
查看次数