我写了一个a.py像这样的python文件:
x = 1
def hello():
print x
hello()
Run Code Online (Sandbox Code Playgroud)
当我这样做import a,它打印的价值x
直到现在我的理解是import包括变量和函数定义,但为什么它正在执行方法hello()?
matrix = [ [1,2,3], [4,5,6], [7,8,9] ]
import pprint
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(matrix)
Run Code Online (Sandbox Code Playgroud)
这不是很好的印刷品.它打印丑陋.
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Run Code Online (Sandbox Code Playgroud)
是什么赋予了??
我想知道一个用户定义的异常,我在我的python程序中从一个类中提出的异常处理程序中没有正确的异常处理程序处理main().说我有一节课:
class Pdbalog:
# Constructor
def __init__(self, logtype):
if logtype == 1 or logtype == 2:
# These are valid
self.logtypeV = logtype
...<continue processing>
else:
# Invalid
raise Exception("Invalid Logtype")
Run Code Online (Sandbox Code Playgroud)
我main看起来像:
from pdbalog import *
def main():
try:
mylog = Pdbalog(10)
...<other code here>
except "Invalid Logtype":
print('Exiting...')
except:
print('Unhandled exception')
raise
Run Code Online (Sandbox Code Playgroud)
我希望main运行的时候,我实例化Pdbalog对象的行会引发异常(Exception("Invalid Logtype")),而main(except "Invalid Logtype")中的异常处理程序会打印输出字符串"Exiting...".但事实并非如此.它由未处理的异常处理程序处理.最终发生的是"Unhandled exception"输出字符串.为什么不是
except "Invalid Logtype":
Run Code Online (Sandbox Code Playgroud)
处理异常?
我使用的是旧版本的python(2.4).
有一个问题要打印值的地址:
char word[] = "hi there"; //print address of string
int a = 1; // print address of 1
Run Code Online (Sandbox Code Playgroud)
我知道如何打印变量的地址,我认为值在变量地址内?那么值的地址实际上是变量地址?
这是一个棘手的问题,我是对的吗?
提前致谢
我刚读了一些关于指针的问题.这是代码:
int a[5]={1, 2, 3, 4, 5};
int *p = (int*)(&a + 1);//second line
cout<<(*p)<<endl;
Run Code Online (Sandbox Code Playgroud)
我的编译器输出是0.什么是*p?它是指向数组的指针a吗?什么&a+1意思?
我创建了一个简单的函数来从迭代中解包N个元素.
def drop_first_last(grades):
grades = first, *middle, last
return avg(middle)
Run Code Online (Sandbox Code Playgroud)
当我运行此函数时发生以下错误:
grades = first, *middle, last
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会出现这个错误,如何解决?
如何制作以下列表:
nested_list = [['dave','dave'],['ian','ian'],['james','james']]
Run Code Online (Sandbox Code Playgroud)
从:
list = ['dave', 'ian', 'james']
Run Code Online (Sandbox Code Playgroud) 码:
printf("Enter your data (5x10) of characters: \n");
for (i = 0; i < SIZE1; i++)
for (j = 0; j < SIZE2; j++)
scanf("%c", &matrix2[i][j]);
compress(matrix2);
break;
Run Code Online (Sandbox Code Playgroud)
我的代码假设采用5 x 10char矩阵.但是目前我的换行符正在输入到矩阵中,我如何实际检查换行符,并防止它进入matrix2[i][j]?
它总共读取了4个换行符.输入:
aaabbbcccd (press enter)
ababababab (press enter)
bcdbcdbcdb (press enter)
ababababab (press enter)
abbbcccdda
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个安全的文件输入。我的固定缓冲区大小为 128。我想从文件中读取字符串,但在复制它们之前我想检查它们的128长度是否小于或等于。
我可以做类似的事情吗:
fscanf(fp, "%128s", myString)
Run Code Online (Sandbox Code Playgroud)
我已经看到以同样的方式使用 scanf 会限制读入的字符数,但没有看到任何对它的引用以这种方式与 fscanf 和字符串一起使用?
我的问题:我想在这个字符串中添加所有数字'1.14,2.14,3.14,4.14'但是逗号导致我的sum函数无法正常工作.
我认为使用条带功能可以解决我的问题,但似乎仍然有一些我缺少或不太了解.
total = 0
for c in '1.14,2.14,3.14'.strip(","):
total = total + float(c)
print total
Run Code Online (Sandbox Code Playgroud)
我已经搜索了如何从字符串中删除逗号,但我只找到了有关如何从字符串的开头或结尾删除逗号的信息.
附加信息:Python 2.7
python ×6
c ×4
pointers ×2
python-2.7 ×2
arrays ×1
matrix ×1
newline ×1
pretty-print ×1
python-3.x ×1
reference ×1