小编cal*_*pto的帖子

如何在python中显示为什么"尝试"失败

无论如何要显示"尝试"失败的原因,并跳过"除外",而不用手写出所有可能的错误,并且没有结束程序?

例:

try:
    1/0
except:
    someway to show 
    "Traceback (most recent call last):
       File "<pyshell#0>", line 1, in <module>
         1/0
    ZeroDivisionError: integer division or modulo by zero"
Run Code Online (Sandbox Code Playgroud)

我不想这样做if:print error 1, elif: print error 2, elif: etc....我想看到显示的错误try没有出现

python error-handling

9
推荐指数
2
解决办法
3104
查看次数

如何检查边缘是否处于某个周期?

我有一个问题,要求一个算法检测任何包含任何给定边'E'的无向图中是否有任何循环.该算法应在O(N)线性时间内运行.

我遇到的问题是我不知道从哪里开始.我有一些简单的示例图,但我不知道从那里去哪里.

任何提示?

graph cycle

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

在python中使用类变量作为非默认参数

有没有办法在类中保留一个私有类变量,并仍然使用它作为非默认变量的默认值(不在类之外定义该值)?

例:

class a:
    def __init__(self):
        self.__variable = 6
    def b(self, value = self.__variable):
        print value
Run Code Online (Sandbox Code Playgroud)

python variables class default-value

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

方案获取列表中的最后一个元素

我试图写一个简单的方案函数,返回列表的最后一个元素.我的功能看起来应该可以工作,但我设法失败了:

(define (last_element l)(
  (cond (null? (cdr l)) (car l))
  (last_element (cdr l))
))

(last_element '(1 2 3)) should return 3
Run Code Online (Sandbox Code Playgroud)

DrRacket继续给我错误:

mcdr: contract violation
  expected: mpair?
  given: ()
Run Code Online (Sandbox Code Playgroud)

既然(null? '())是真的,我不明白为什么这是行不通的.

这是一个函数,我认为我需要做一个家庭作业(编写函数last-element不是赋值),而且说明说我不能使用内置函数reverse,所以我不能只做(car (reverse l))

我该如何修复这个功能?

scheme racket r5rs

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

奇怪的程序错误结束

我在我的程序中得到一个奇怪的错误.我的编译器告诉我:

expected `}' at end of input 
expected unqualified-id at end of input 
expected `,' or `;' at end of input 
Run Code Online (Sandbox Code Playgroud)

并突出显示我的代码的最后一行,这是我的main()函数的结束括号.我已经注释掉了int main()中的所有代码,但它仍然拒绝编译.我检查了缺失的";" 而且没什么.SciTE检查括号和括号以及内容,因此我知道所有内容都已正确关闭.我似乎根本没做任何疯狂的事情

包含类会导致这些错误吗?

#include <iostream>
#include <fstream>
#include <vector>

#include "commands.h"


int main(){

}
Run Code Online (Sandbox Code Playgroud)

如果在commands.h中有问题,它会在最后一个括号中显示吗?

c++ compiler-errors

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

计算地图中相同值的数量

是否有任何命令可以计算地图中相同值的数量?

喜欢:

map<int, string> m;
m[1] = "A";
m[22] = "A";
m[53] = "C";
m[12] = "A";
m[6] = "A";

int count = m.count("A");// 4
Run Code Online (Sandbox Code Playgroud)

或者我应该自己写一下,因为它不太难?

c++ map count

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

如何在我的自定义uint128类型中使用std :: hex?

重载的正确语法是什么(或实际上是什么)std::hex,以便它的功能可以扩展到非标准整数?我写了这个版本的uint128_t

c++ hex

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

cin.get()不起作用

我今天写了这个简单的程序,但我发现cin.get()除非有2个程序,否则拒绝工作.有任何想法吗?

#include <iostream>
using namespace std;

int main(){
    int base;
    while ((base < 2) || (base > 36)){
          cout << "Base (2-36):" << endl; 
          cin >> base;
          }
    string base_str = "0123456789abcdefghijklmnopqrstuvwxyz";
    for (int i = 0; i < base; i++){
        for (int j = 0; j < base; j++){
            for (int k = 0; k < base; k++){    
                cout << base_str[i] << base_str[j] << base_str[k] << endl;
            }
        }
    }
    cin.get();
    cin.get();
}
Run Code Online (Sandbox Code Playgroud)

如果我cin.get()在嵌套循环之前移动到一个循环,则循环运行然后暂停.如果我拿出一个cin.get() …

c++ syntax syntax-checking

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

分区不跨越字节

我试图对uint128_t由2 uint64_t秒组成的分区进行分区.奇怪的是,该函数适用于uint64_ts,只有较低的值集和较高的值= 0.我不明白为什么.

这是除法和位移的代码

class uint128_t{
   private:
      uint64_t UPPER, LOWER;
   public:
      // lots of stuff

    uint128_t operator<<(int shift){
        uint128_t out;
        if (shift >= 128)
            out = uint128_t(0, 0);
        else if ((128 > shift) && (shift >= 64))
            out = uint128_t(LOWER << (64 - shift), 0);
        else if (shift < 64)
            out = uint128_t((UPPER << shift) + (LOWER >> (64 - shift)), LOWER << shift);
        return out;
    }

    uint128_t operator<<=(int shift){
        *this = *this << shift; …
Run Code Online (Sandbox Code Playgroud)

c++ math biginteger integer-division

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

Karatsuba算法过多的递归

我正在尝试用c ++实现Karatsuba乘法算法但是现在我只是想让它在python中运行.

这是我的代码:

def mult(x, y, b, m):
    if max(x, y) < b:
        return x * y

    bm = pow(b, m)
    x0 = x / bm
    x1 = x % bm
    y0 = y / bm
    y1 = y % bm

    z2 = mult(x1, y1, b, m)
    z0 = mult(x0, y0, b, m)
    z1 = mult(x1 + x0, y1 + y0, b, m) - z2 - z0

    return mult(z2, bm ** 2, b, m) + mult(z1, bm, b, m) + …
Run Code Online (Sandbox Code Playgroud)

python algorithm math recursion multiplication

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