小编Pet*_*ood的帖子

等待输入一段时间

是否有任何功能可以等到输入达到一定时间?我正在制作Snake游戏.

我的平台是Windows.

c c++ windows

5
推荐指数
1
解决办法
5395
查看次数

释放后分配指针

我正在查看"Programming Interviews Exposed"一书中的以下代码:

bool deleteStack( Element **stack ){
      Element *next;
      while( *stack ){
            next = (*stack)->next;
            free( *stack );
            *stack = next;
      }
      return true;
}
Run Code Online (Sandbox Code Playgroud)

我不熟悉C++或C,所以这可能是一个愚蠢的问题,但是在释放它之后不会给指针分配一些东西导致问题?

c c++ pointers

5
推荐指数
1
解决办法
554
查看次数

继承:'{'标记之前的预期类名

我正在尝试用C++创建一个异常类,它不起作用.我已将代码减少到最低限度,但仍然无法找到错误.这是我的头文件:

#ifndef LISTEXCEPTION_H
#define LISTEXCEPTION_H

// C++ standard libraries
#include <exception>

/* CLASS DEFINITION */
class ListException: public exception {
};

#endif //LISTEXCEPTION_H
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

error: expected class-name before ‘{’ token
Run Code Online (Sandbox Code Playgroud)

这是非常意外的.我该如何解决这个问题?

c++

5
推荐指数
1
解决办法
1566
查看次数

如何将 pkgutil.walk_packages 用于压缩包

我可以在不先解压的情况下找到压缩包中的模块吗?

我正在pkgutil.walk_packages使用importlib.

for _, pkg, _ in pkgutil.walk_packages(package.__path__):
    yield importlib.import_module(pkg)
Run Code Online (Sandbox Code Playgroud)

这在压缩包时不起作用。walk_packages走一条路。

我可以先解压缩包并使用:

for _, pkg, _ in pkgutil.walk_packages(unzipped_package_path):
    yield importlib.import_module(pkg)
Run Code Online (Sandbox Code Playgroud)

但我希望能够在不先解压缩的情况下做到这一点。

pkgutil.getdata使用压缩包,我很惊讶pkgutil.walk_packages没有工作。

我想知道我是否遗漏了什么。

另外,我仅限于 Python 2.7.0

python python-2.7

5
推荐指数
1
解决办法
775
查看次数

如何将字符串向右移动并在python中将其反转?

将单词向右移动然后将其反转.

您应该向右移动一个单词并将其反转然后返回如下:

>>> shift_reverse('Introduction to Computer Programming')
gnimmargorP noitcudortnI ot retupmoC
Run Code Online (Sandbox Code Playgroud)

我尝试使用这种方法找到上面的答案但它似乎没有工作请帮助:(

s= "I Me You"
def shift_reverse(s):
    l= s.split()
    new_str= ' '.join(l[-1:] + l[:-1])
    new_str = new_str[::-1]
    return (new_str)

print (shift_reverse(s))
Run Code Online (Sandbox Code Playgroud)

但我得到的印刷品是

[evaluate untitled-3.py]
eM I uoY
Run Code Online (Sandbox Code Playgroud)

python

5
推荐指数
1
解决办法
2794
查看次数

Python,join()函数,在单词之间添加空格

我需要编写一个函数,它接受两个字符串(文本和单词)并返回用星号替换所选单词的文本(星号的数量应与审查单词中的字母数量相对应。)。

例如:

如果 text="hey hey hey" 且 word="hey" 返回的文本应该是:

'*** *** ***'
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

def censor(text,word):
    text = text.split(" ")
    asterisks=[]
    text_with_asterisks=[]

    for item in text:
        if item not in word:
            text_with_asterisks.append(item)
        else:
            asterisks=[]
            for letter in word:
                asterisks.append("*")

            text_with_asterisks.append(' '.join(asterisks))
    return (" ".join(text_with_asterisks))
Run Code Online (Sandbox Code Playgroud)

该代码有效,但返回:

 ********* 
Run Code Online (Sandbox Code Playgroud)

并不是

*** *** ***. 
Run Code Online (Sandbox Code Playgroud)

一旦我使用该行:

return ("_".join(text_with_asterisks))
Run Code Online (Sandbox Code Playgroud)

相反我得到:

'***_***_***'
Run Code Online (Sandbox Code Playgroud)

我不明白为什么“”被忽略以及如何在单词之间添加空格。

谢谢!

python function

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

如何引发 HTTPError

为了测试一些使用 的代码urllib2,我想提出一个HTTPError以确保它被正确处理。

HTTPError有一个构造函数:

def __init__(self, url, code, msg, hdrs, fp):
Run Code Online (Sandbox Code Playgroud)

我不知道要传递什么作为最后一个参数fp

你能帮我举一个例子来提出一个HTTPError例子 吗raise HTTPError('arg1','arg2','arg3','arg4',...

如何做呢?

python urllib2

5
推荐指数
1
解决办法
4072
查看次数

奇怪的内联分配

我在Python(2和3)中遇到这种奇怪的行为:

>>> a = [1, 2]
>>> a[a.index(1)], a[a.index(2)] = 2, 1
Run Code Online (Sandbox Code Playgroud)

这导致:

>>> a
[1, 2]
Run Code Online (Sandbox Code Playgroud)

但如果你写

>>> a = [1, 2]
>>> a[a.index(1)], a[a.index(2)] = x, y
Run Code Online (Sandbox Code Playgroud)

其中x, y != 2, 1(可以是1, 1,2, 2,3, 5等),这将导致:

>>> a == [x, y]
True
Run Code Online (Sandbox Code Playgroud)

正如人们所料.为什么不a[a.index(1)], a[a.index(2)] = 2, 1产生结果a == [2, 1]

>>> a == [2, 1]
False
Run Code Online (Sandbox Code Playgroud)

python tuples variable-assignment

5
推荐指数
1
解决办法
256
查看次数

将列表保存到.txt文件

python中是否有一个函数允许我们将列表保存在txt文件中并保留其格式?

如果我有这个清单:

values = ['1','2','3']
Run Code Online (Sandbox Code Playgroud)

我可以将其保存到包含以下内容的文件中:

'['1','2','3']'
Run Code Online (Sandbox Code Playgroud)

到目前为止,我在终端中打印部分列表并将其复制到txt文件中.

python list

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

使用一个函数生成多个列表

我正在为学校做一个小项目,我必须将quicksort与python的内置排序功能进行比较.我实际上已经陷入困境,我必须用数字填充多个列表.

def genlist():
    x = []
    while len(x) < 100
        y = randint(1,9999)
        x += [y]
    return x
Run Code Online (Sandbox Code Playgroud)

这是我的代码.此代码有效,但它只创建一个列表.但是我的目标是创建具有不同长度的多个列表.

试过这样的事情:

def genlist():
    x,y,z = []
    while len(x,y,z) < 100, 1000, 10
        y = randint(1,9999)
        x += [y]
    return x
Run Code Online (Sandbox Code Playgroud)

但是显然不起作用D:

python list

5
推荐指数
1
解决办法
677
查看次数