python traceback捕获并打印异常



python traceback捕获并打印异常

异常处理是日常操作了,但是有时候不能只能打印我们处理的结果,还需要将我们的异常打印出来,这样更直观的显示错误

下面来介绍traceback模块来进行处理

    try:
        1/0
    except Exception, e:
        print e

输出结果是integer division or modulo by zero,只知道是报了这个错,但是却不知道在哪个文件哪个函数哪一行报的错。

使用traceback

    try:
        1/0
    except[......]

Read more

python 文件后缀名 .py .pyc .pyw .pyo .pyd

python 文件后缀名 .py .pyc .pyw .pyo .pyd

py” role=”presentation”>pypy

以 py 扩展名的文件是 Python 源码文件,由 python.exe 解释,可在控制台下运行。可用文本编辑器读写。

pyc” role=”presentation” style=”position: relative;”>pycpyc

以 pyc 为扩展名的是Python的编译文件。其执行速度快于 py 文件且不能用文本编辑编辑查看。所以 pyc 文件往往代替 py 文件发布。
Python 在执行时,首先会将 py 文件中[......]

Read more

C++ cin.get及getline的用法

C++ cin.get及getline的用法

1.cin.get()

从指定的输入流中提取一个字符,函数的返回值就是这个字符。文件结束符会返回EOF,一般以-1代表EOF。

复制代码
1 #include<iostream>
2 using namespace std;
3
4 int main(){
5 char c;
6 while((c=cin.get()!=EOF))
7 cout.put(c);
8 return 0;
9 }
复制代码
2.cin.get(ch)

读取一个字符,赋值给ch,读取成功返回非0值,读取失败(遇到文[......]

Read more

C++中关于cin、cin.get()、cin.getline()、getline()、gets()等函数的用法

C++中关于cin、cin.get()、cin.getline()、getline()、gets()等函数的用法

1.cin>>

用法1:最基本,也是最常用的用法,输入一个数字:

注意:>> 是会过滤掉不可见的字符(如 空格 回车,TAB 等)
cin>>noskipws>>input[j];//不想略过空白字符,那就使用 noskipws 流控制

用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都結束

复制代码
#include <iostream>
using namespace s[......]

Read more

C++获取字符cin,getchar,get,getline的区别

C++获取字符cin,getchar,get,getline的区别

1.cin>>

1)最常见的是获取输入的一个字符或数字,如

int a,b;

cin>>a>>b;

注意:cin>>会自动过滤掉不可见字符(如空格 回车 tab等)。若不想过滤掉空白字符,可以用noskipws流进行控制。

如下程序,没有过滤掉不可见字符,输入的空格字符存入了input[1]中,也可输出。

 

2)获取输入的字符串,可以用数组或string类型。如

char a[20];

cin>>a;[......]

Read more

C++通过cin.get()输入字符串

C++通过cin.get()输入字符串

#include <iostream>
#include <string>
using namespace std;

int main()
{

char str[10000];
char temp;
int len = 0;
cout << “输入:”;
while(1)
{
temp = cin.get();
if(temp != ‘\n’) str[len++] = temp;
else break;
}
cout << “输出:”;
for(int i =[......]

Read more

2017年第二十三届NOIP(C语言)普及组初赛试题及详细答案

2017年第二十三届NOIP(C语言)普及组初赛试题及详细答案

赛时间: 2017 年 10月14日 14:30~ 16:30
选手注意:不得使用任何电子设备(如计算器、手机、电子词典等 )或查阅任何书籍资料

一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)

1.在8位二进制补码中,10101011表示的数是十进制下的( )
A. 43 B. -85 C. -43 D. -84

2.计算机存储数据的基本单位是( )
A. bit B. Byte C. GB D. KB

3.下列协议中与电子邮件无关的是( )
A. POP3 B[......]

Read more

快速幂取模(分治思想)

快速幂取模(分治思想)

快速幂取模

许多时候我们需要计算a^b %c 如是的式子。

 

一、像下面这样直接来求
int res = 1;
for(int i = 1;i<=b;i++)
{
res = res * a;
}
res = res % c;
如果b很大,很容易超时;如果a,b很大,在计算过程中可能会超过long long所能表示的范围,因此想办法优化。
二、对于取模运算有这样一个性质:a^b mod c =(a mod c)^b  mod c

于是改进一下:
int res = 1;
a = a % c; //加上这[......]

Read more

分治算法——快速幂

分治算法——快速幂

(我貌似不会写二进制拆分的快速幂。。。。)

对于求解a^b mod p,我们的暴力手段是模拟,将b个a一个一个乘上去再取模

时间显然是O(b),当b有几千万,乃至几亿时,我们发现这显然会超时

思考有没有优化的空间呢

我们发现求解a^b mod p 等价于下面的问题:

(a^2)  ^  (b/2) mod p (当b为偶数时)

(a^2)  ^ (b div 2) * a mod p (当b为奇数时)

我们显然可以将这个求解 a^b mod p这个原问题,转化为上述与原问题结构相同,但是规模更小的子问题来解决(这显然是一个分治)[......]

Read more