相关疑难解决方法(0)

len()和.__ len __()之间的区别?

打电话len([1,2,3])[1,2,3].__len__()?之间有什么区别吗?

如果没有明显的差异,在幕后做了哪些不同的事情?

python

84
推荐指数
4
解决办法
6万
查看次数

如何确定C中整数的位数?

例如,

n = 3432, result 4

n = 45, result 2

n = 33215, result 5

n = -357, result 3
Run Code Online (Sandbox Code Playgroud)

我想我可以把它变成一个字符串然后得到字符串的长度,但这看起来很复杂和黑客.

c math

64
推荐指数
11
解决办法
7万
查看次数

openpyxl - 调整列宽大小

我有以下脚本将CSV文件转换为XLSX文件,但我的列大小非常窄.每次我用鼠标拖动它们来读取数据.有人知道如何设置列宽openpyxl吗?

这是我正在使用的代码.

#!/usr/bin/python2.6
import csv
from openpyxl import Workbook
from openpyxl.cell import get_column_letter

f = open('users_info_cvs.txt', "rU")

csv.register_dialect('colons', delimiter=':')

reader = csv.reader(f, dialect='colons')

wb = Workbook()
dest_filename = r"account_info.xlsx"

ws = wb.worksheets[0]
ws.title = "Users Account Information"

for row_index, row in enumerate(reader):
    for column_index, cell in enumerate(row):
        column_letter = get_column_letter((column_index + 1))
        ws.cell('%s%s'%(column_letter, (row_index + 1))).value = cell

wb.save(filename = dest_filename)
Run Code Online (Sandbox Code Playgroud)

python openpyxl

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

我收到类型错误。我如何解决它?

我经常从我的 Python 代码中得到未捕获的异常(错误),这些异常被描述为TypeErrors. 经过大量的实验和研究,我收集了以下示例(以及细微的变化):

TypeError: func() takes 0 positional arguments but 1 was given
TypeError: func() takes from 1 to 2 positional arguments but 3 were given
TypeError: func() got an unexpected keyword argument 'arg'
TypeError: func() missing 1 required positional argument: 'arg'
TypeError: func() missing 1 required keyword-only argument: 'arg'
TypeError: func() got multiple values for argument 'arg'
TypeError: MyClass() takes no arguments
TypeError: unsupported operand type(s) for +: 'int' and 'str'
TypeError: can only concatenate str …
Run Code Online (Sandbox Code Playgroud)

python debugging typeerror

11
推荐指数
2
解决办法
8049
查看次数

更好地计算整数n和b的log(n,b)的底数?

我想要计算floor(log(n,b))哪里nb都是整数.直接实现甚至稍微大的值此函数失败nb

# direct implementation
def floor_log(n,b):
    return math.floor(math.log(n,b))
Run Code Online (Sandbox Code Playgroud)

例如,floor_log(100**3, 100)2值而不是正确的值3.

我能够提出一个反复划分的工作功能,直到什么都没有

# loop based implementation
def floor_log(n,b):
    val = 0
    n = n // b
    while n > 0:
        val += 1
        n = n // b
    return val
Run Code Online (Sandbox Code Playgroud)

是否有更快或更优雅的方式来获得此解决方案?也许使用内置功能?

python

8
推荐指数
2
解决办法
119
查看次数

使用python计算输入的位数

我正在尝试计算输入的位数。但是,每当我输入1011或任何两位数时,输出都是325. 为什么不起作用?

inputnumber = int(input())
countnumber = inputnumber
digitcount = 0
while countnumber > 0:
    digitcount += 1
    countnumber = countnumber/10

print(digitcount) 
# result is 325 when input is 10 or 11
Run Code Online (Sandbox Code Playgroud)

python decimal digits division python-3.x

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

十六进制数的长度

我们怎样才能在Python语言中获得十六进制数的长度?我尝试使用此代码,但即使这显示一些错误.

i = 0
def hex_len(a):
    if a > 0x0:
        # i = 0
        i = i + 1
        a = a/16
        return i
b = 0x346
print(hex_len(b))
Run Code Online (Sandbox Code Playgroud)

这里我只使用346作为十六进制数,但我的实际数字非常大,需要手动计算.

python counting

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

获取非负整数的位数(Python)

问题是:

<<背景故事:假设我们正在设计一个新的汉堡关节的销售点和订单跟踪系统.这是一个小型联合,它只出售4种组合选择:经典单人组合(汉堡配一个馅饼),经典双人奶酪组合(2个馅饼),经典三人配奶酪组合(3个馅饼),前卫四人组合Guacamole Combo(4个小馅饼).我们将这些组合分别编码为1,2,3和4.每餐的体型都很大,可以买到更大的薯条和饮料.对于组合1,2,3和4,大尺寸组合分别由5,6,7和8表示.>>

编写一个名为order_size的迭代函数,它接受一个顺序并返回顺序中的组合数.例如,order_size(237) - > 3.

我应该有

order_size(0) = 0

order_size(6) = 1

order_size(51) = 2

order_size(682) = 3
Run Code Online (Sandbox Code Playgroud)

我的代码是:

def order_size(order):

    # Fill in your code here
    if order > 0:
        size = 0
        while order > 0:
            size +=  1
            order = order // 10
            return size
        else:
            return 0
Run Code Online (Sandbox Code Playgroud)

但我没有得到// 10部分的订单.我猜这是错的,但我想不出任何东西可以替代它.

python numbers digits sizing

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

如何计算Python中的位数?

我正在尝试编写一个计算给定数字中位数的函数.这是我的功能:

def num_digits(n):
    """
    >>> num_digits(12345)
    5
    >>> num_digits(0)
    1
    >>> num_digits(-12345)
    5
    """
    count = 0
    while n > 0:
        if n == 0:
            count += 1
        count += 1
        n = n/10

    return count

if __name__=="__main__":
    import doctest
    doctest.testmod(verbose=True)
Run Code Online (Sandbox Code Playgroud)

但是这个功能不起作用.while循环的条件应该是什么?

python-2.7

-1
推荐指数
2
解决办法
5万
查看次数