pycharm代码调试

调试技巧参考:Pycharm debug 怎样使用Pycharm调试代码

打断点:断点当前行不执行
step over:逐行执行代码
step into:跳转进入当前行调用的函数 <不论函数是否在当前脚本文件内,都跳转>
step into my code:只跳转当前脚本文件内的函数内部
step out:从里面一层的函数跳转到外边一层
run to cursor:运行到光标选定的代码处

可以使用下面代码作为示例进行调试

def digit_bit(number):
    bit = 1
    test = 1
    divisor = 10
    while test >= 1:
        test = number // divisor
        if test >= 1:
            bit = bit + 1
            divisor = divisor * 10
    return bit


def list_number_digit_bit(input_list):
    result = [digit_bit(i) for i in input_list]
    return result


def lexicon_order(input_list):
    digit_bit_list = list_number_digit_bit(input_list)
    max_bit = max(digit_bit_list)
    alpha = 1 / max_bit
    dict_of_number = {}
    for i in input_list:
        if digit_bit(i) == max_bit:
            dict_of_number[i] = i
        else:
            bit = digit_bit(i)
            new_digit = (i * 10 ** (max_bit - bit)) - 0.5 * alpha * (max_bit - bit)
            dict_of_number[new_digit] = i
    key_of_dict_of_number = list(dict_of_number.keys())
    key_of_dict_of_number.sort()
    lexicon_order_number = [dict_of_number[i] for i in key_of_dict_of_number]
    return lexicon_order_number


def find_the_number(n, k):
    number_list = list(range(1, n + 1))
    lexicon_order_number = lexicon_order(number_list)
    result = lexicon_order_number[k - 1]
    print('The lexicographical order is: ', lexicon_order_number)
    print('so the ', k, 'th smallest number is:', result)
    return result


# print(lexicon_order(range(130)))
# exit()
# find_the_number(n=130, k=5)
# exit()

for i in range(10):
    print(i)
    r = find_the_number(n=13, k=i)
    print(r)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饿了就干饭

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值