如果python 3.3.3中的代码(计数奇数,正值!!?)

时间:2016-08-29 20:14:57

标签: python python-3.3

我的代码是:计算有多少值是偶数,正数,负数 并且它不起作用: 谢谢你的帮助

e = [ ] 

for c in range(5):

    c=float(input())
    if c<0:
        e.append(c)
        print("{} valor(es) negativo(s)".format(len(e)))
    if c>0:
        e.append(c)
        print("{} valor(es) positivo(s)".format(len(e)))
    if c%2!=0:
        e.append(c)
        print("{} valor(es) par(es)".format(len(e)))
    if c%2==0:
        e.append(c)
        print("{} valor(es) impar(es)".format(len(e)))

我想要这样的o / p:

3 valor(es)par(es)

2 valor(es)impar(es)

1 valor(es)positivo(s)

3 valor(es)negativo(s)

当我输入五(int)nos 并在输入时退出== 4

1 个答案:

答案 0 :(得分:2)

首先,您对所有值类型使用相同的列表。只有第一次才算正确!见下面的奇数&amp;偶数。正面/负面的上述错误相同。

其次这是功能错误:

if c%2!=0:
    e.append(c)
    print("{} valor(es) par(es)".format(len(e)))
if c%2==0:
    e.append(c)
    print("{} valor(es) impar(es)".format(len(e)))

定义:

pares = []
impares = []
循环中的

,写下这个

if c%2==0:
    pares.append(c)
    print("{} valor(es) par(es)".format(len(pares)))
else:
    impares.append(c)
    print("{} valor(es) impar(es)".format(len(impares)))

概念证明并尽可能地成为pythonic (我已经将示例设为非交互式,并且仅使用整数。就像ShadowRanger所指出的那样,模块上的浮点数对此代码的效果非常好)

# define 4 lists
the_list = [list() for i in range(4)]
negative_values,positive_values,odd_values,even_values = the_list

z=[1,2,-5,-7,0,3,-4]
for c in z: #range(5):

    #c=float(input())
    if c<0:
        negative_values.append(c)
    elif c>0:
        positive_values.append(c)
    if c%2==0:
        even_values.append(c)
    else:
        odd_values.append(c)

print("{} negative values, {} positive values, {} odd values, {} even values".format(*tuple(len(x) for x in the_list)))