小编Kev*_*vin的帖子

python"in"语句会自动返回true

我在学习如何使用in语句来使if语句更好地工作的过程中编写了一些不必要的复杂代码.我在代码片段后面有两个问题.

answer = ['Yes', 'yes', 'YES']
answer2 = ['No', 'no', 'NO']
ans = raw_input()
for i in range(0, 3):
    if ans in answer[i]:
        print "Yes!"
    elif ans in answer2[i]:
        print "No!"
    else:
        print "Don't know what that means"
Run Code Online (Sandbox Code Playgroud)

第一个问题:我认为if n in listname:自动返回True或False.有谁知道是否是这种情况?

第二个问题:上面的代码返回3行,这些行取决于if ans是否实际在answeranswer2.我试图通过更换相关部分来消除这种情况:

if ans in answer[i] == True:

这具有使代码仅输出else:语句的奇怪效果.因此,谁能向我解释如何蟒蛇解释之间的差异if ans in answer[i]:if ans in answer[i] == True:好吗?

python python-2.7

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

获取“'='标记之前的预期表达式”错误

这是有问题的代码:

double cf_converter(double t){
    //This function converts from celsius to farenheit
    if (t <= 200 && t >= -200){
        printf("0.00 C ==> 32.00 F");
        return CFR*t+32.00;
    }
    else{
        printf("Invalid Farenheit Temperature\n");
        return pow(t,3);
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的函数是编译器告诉我发生错误的地方。我看过其他示例,但无法确定为什么会收到错误消息。根据编译器,该错误显然是在第一个return语句中发生的,它读取的是CFR * t + 32.00。

void main(){
    //Main Loop
    char c;
    double t, o, input;

    printf("Please enter  F or C: ");
    scanf("%c", &c);

    switch(c){
        case 'c':
        case 'C':
            printf("\nPlease enter a celsius degree number: ");
            scanf("%lf", t);
            o = cf_converter(t);
            break;
        case 'f':
        case 'F': …
Run Code Online (Sandbox Code Playgroud)

c syntax token

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

标签 统计

c ×1

python ×1

python-2.7 ×1

syntax ×1

token ×1