小编Lae*_*ica的帖子

Python - 从列表中间开始迭代,然后检查任一方

真的不确定这适合的地方.说,我有一个清单:

>>>a = [1, 2, 3, 4, 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)

如何以这样的方式迭代它,它将首先检查4,然后是5,然后是3,然后是6,然后是2(对于更大的列表,依此类推)?我只能解决中间问题

>>>middle = [len(a)/2 if len(a) % 2 = 0 else ((len(a)+1)/2)]
Run Code Online (Sandbox Code Playgroud)

我真的不确定如何应用这个,我也不确定我的中间方式是最好的方法.我想过抓住两个索引,每次迭代后,添加1并从每个索引中减1,但不知道如何使for循环遵守这些规则.

关于我为什么需要这个; 这是用于分析纸牌游戏中的有效游戏,并且将从给定手牌的中间牌检查到每一端,直到可以播放有效的牌.

python iteration

4
推荐指数
3
解决办法
1910
查看次数

C - 释放指针数组是否也释放了他们所指向的内容?

假设我有一个指向结构的指针数组,每个结构包含一个字符串,所以对于这样的事情:

printf("%s\n", array[0]);
Run Code Online (Sandbox Code Playgroud)

输出是:

Hello.
Run Code Online (Sandbox Code Playgroud)

如果我执行free(array)遗嘱这是免费array[0]的指向什么?("Hello.").

我花了好几个小时试图手动释放每个元素,而我得到的只是崩溃.我希望这是一个捷径:/

c free

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

Python - 缩短冗余循环

如何使用4个冗余if语句缩短此循环?

此代码用于计算纸牌游戏中玩家手中每套牌的牌数:

suitcounter = [0, 0, 0, 0]
if len(hand) > 0:
    for card in hand:
        if card[1] == "C":
            suitcounter[0] += 1
        if card[1] == "D":
            suitcounter[1] += 1
        if card[1] == "S":
            suitcounter[2] += 1
        if card[1] == "H":
            suitcounter[3] += 1
return suitcounter
Run Code Online (Sandbox Code Playgroud)

例:

手由两颗心和一个铁锹组成:

>>>hand = ['3H', '4H', 'AS']
[0, 0, 1, 2]
Run Code Online (Sandbox Code Playgroud)

3H= 3的心,4H= 4的心,AS=黑桃的王牌.

我觉得在我所做的事情中,代码"垃圾邮件"太多了.WTB提示.

python for-loop if-statement

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

C - 从最后一行的文件问题中读取

我的程序对我的任务的预期输入是类似的 ./program "hello" < helloworld.txt.然而,问题在于我必须分析程序中的每一行,所以我使用了一个行的结尾作为:

while((c = getchar()) != EOF) {
    if (c == '\n') {
    /*stuff will be done*/
Run Code Online (Sandbox Code Playgroud)

但是,我的问题是如果helloworld.txt文件包含:

hello
world
Run Code Online (Sandbox Code Playgroud)

它只会读取第一行(如果有更多行,则直到第二行最后一行).

为了解决这个问题,我必须严格地制作一个新的行,helloworld.txt如下所示:

hello
world
//
Run Code Online (Sandbox Code Playgroud)

还有另一种方法吗?

c newline

0
推荐指数
1
解决办法
1013
查看次数

标签 统计

c ×2

python ×2

for-loop ×1

free ×1

if-statement ×1

iteration ×1

newline ×1