小编Los*_*st1的帖子

switch-case语句没有中断

根据这本书,我正在读:

问:如果我在switch-case语句中省略了中断,会发生什么?

断言语句使程序执行能够退出切换构造.没有它,执行继续评估以下case语句.

假设我的代码看起来像

switch (option}{
    case 1:
    do A;
    case 2:
    do B;
    default:
    do C;
    break;
}
Run Code Online (Sandbox Code Playgroud)

这是否意味着如果我选择案例1,A和C就完成了.如果我选择案例2,则完成B和C. 如果我不选择,那么只有C完成.

如果是这样,如果我们在做了C之后省略了休息会发生什么.

我认为这些是糟糕的编程习惯,但我很好奇会发生什么情况才能更深入地理解它是如何工作的.谢谢

c++ switch-statement

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

Python CSV编写器空白行

我有一个 CSV 文件,其中有

spam
Run Code Online (Sandbox Code Playgroud)

在里面。然后,我做到了

 with open(directory, "a") as config_csv:
    writer = csv.writer(config_csv)
    writer.writerow(["something"])
    writer.writerow(["something else"])
Run Code Online (Sandbox Code Playgroud)

我期望

spam
something
something else
Run Code Online (Sandbox Code Playgroud)

相反,我得到了

spam

"something"

"something else"
Run Code Online (Sandbox Code Playgroud)

我如何得到我想要的东西?

python csv python-3.x export-to-csv

6
推荐指数
2
解决办法
4677
查看次数

在R中的用户定义函数中,如何检查R中输入的格式是否正确?

如果我的函数(x,y,z)在R 中输入,我想写一行代码,确保数据x的形式正确.

ie x只是一个实数而不是其他任何东西,如矢量或列表.我假设代码会像

if ( ... ){stop("x must be a real number")}
Run Code Online (Sandbox Code Playgroud)

我想知道括号里面的内容而不是...

原因是如果我在向量中写入,程序只需将向量的第一个分量作为输入.R会对此发出警告,但我希望该程序能够立即停止.

arguments r

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

使用列名作为pandas中的新属性

我有以下数据结构

Date         Agric  Food 
01/01/1990    1.3   0.9  
01/02/1990    1.2   0.9 
Run Code Online (Sandbox Code Playgroud)

我想把它转换成格式

Date        Sector  Beta
01/01/1990  Agric   1.3
01/02/1990  Agric   1.2
01/01/1990  Food    0.9
01/02/1990  Food    0.9
Run Code Online (Sandbox Code Playgroud)

虽然我确信我能以复杂的方式做到这一点,有没有办法在几行代码中做到这一点?

python reshape pandas

4
推荐指数
2
解决办法
1870
查看次数

从R中的标量函数创建向量函数

这是我的功能.它需要[-5,-3]和[3,5]的某些值以及其他地方的0.该函数围绕原点对称.

f<-function(x){
    y=0 
    if (x>=-5 && x<=-3){
        y=3*(1-(x+4)^2)/8
    }
    if (x>=3 && x<=5){
        y=3*(1-(x-4)^2)/8
    }
    return(y)
}
Run Code Online (Sandbox Code Playgroud)

好的,所以我使用了这个功能 sapply (bins, f)

哪里bins = seq(-5,5,by=0.05).这很好用!

但当我试图做f(箱子)时,我得到了这个荒谬的答案.[-5,-3]范围是正确的.

我的猜测是,当函数f检查第一个if条件时,它只检查了bin向量的第一个值,因此对于(-3,5)范围,它错误地使用了仅用于[-5的公式,-3].

我试图找到一种方法为这些点绘制曲线,但是当我使用曲线函数时,使用f(bins)得到的错误值绘制曲线

有人可以告诉我如何解决这个问题吗?

r

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

否定 np.where 中的 np.isnan

我有两个 numpy 数组,我想丢弃两个列表中包含 nan 条目的所有条目。我该怎么做呢?(nan只能出现在第一个列表中)

我已经尝试过以下方法:

import numpy as np
a = np.array([1,2,np.nan,3,4])
b = np.array([5,6,7,8,9])
Run Code Online (Sandbox Code Playgroud)

如果我做:

b[np.where(np.isnan(a))]
Run Code Online (Sandbox Code Playgroud)

这返回给我:

np.array([7])
Run Code Online (Sandbox Code Playgroud)

不过,我想要

np.array([5,6,8,9])
Run Code Online (Sandbox Code Playgroud)

我尝试了几种不同的方法来使用 np.logic_not 和 ~ 来否定 np.where ,但我还没有设法让它工作。

numpy python-3.x

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

如何将数组乘以第二个数组的每个元素并将它们连接起来?

我的矩阵:

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6]])
Run Code Online (Sandbox Code Playgroud)

我想要c作为:

np.array([[5, 10, 6, 12], [15, 20, 18, 24]])
Run Code Online (Sandbox Code Playgroud)

逐项乘以ab然后将它们连接起来。如何在没有双循环的情况下有效地做到这一点?

python numpy kronecker-product

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

生成矢量的力量,并以一种简洁的方式将其置于numpy的矩阵中

我想写一个函数,它接收一个numpy数组(更方便的)和数字.

该函数应返回此幂的矩阵,从0到n.

例如,如果我输入[1,2]和3,矩阵应该返回

np.matrix([[1,1],[1,2],[1,4],[1,8]])

我知道我可以编写一个循环来执行此操作,但是有更简洁/快速的方法吗?有没有办法用发电机写这个?

python numpy

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