小编ste*_*tla的帖子

pyschool错了?

我正在学习python并尝试在pyschools做练习(如果有人知道它是什么).无论如何,我有一个练习,要求我执行以下操作:编写一个函数百分比(值,总),它接受两个数字作为参数,并返回百分比值作为整数.

这是我的代码:

def percent(value, total):
    percent = value / total * 100
    return int(percent)
Run Code Online (Sandbox Code Playgroud)

它在我的Python Idle中运行良好,它提供了所有正确的答案.然而,当我在pyschools网站上运行时,它说,例如,当使用参数46和90调用函数时,函数返回0.但是,在我的python空闲时,它正确返回51.可能是什么问题?非常感谢您的帮助!

python

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

删除列表中的不同实例

嗨,大家好!

我有一个小问题,我不能口头解释这个问题,所以我只想在代码中说明一下:

class move(object):
    def __init__(self, number):
        self.number = number

list1 = [move(1), move(2), move(3), move(4)]
list2 = [move(3), move(7)]

list1.remove(list2[0])

Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    list1.remove(list2[0])
ValueError: list.remove(x): x not in list
Run Code Online (Sandbox Code Playgroud)

如您所见,list1 [2]和list2 [0]都派生自同一个类并具有完全相同的属性,它们只是该类的两个不同实例

这个问题的最佳解决方案是什么?

非常感谢您的帮助!

python

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

python阅读csv文件逗号问题

尝试从表中解析一些数据时,我遇到了一个小问题.我的程序读取表的一行,然后将其作为字符串放入列表中(Python使用reader.next()函数默认使用它).一切都很好,直到在同一个表空间中没有任何逗号分隔某些文本.在这种情况下,程序认为逗号是一个分隔符并且生成2个列表索引而不是一个,这使得事情list[0].split(';')变得不可能.

我很难口头解释,所以让我说明一下:

csv_file = | House floors | Wooden, metal and golden | 2000 |   # Illustration of an excel table

reader = csv.reader(open('csv_file.csv', 'r'))
row = reader.next()  # row: ['House floors;Wooden', 'metal and golden; 2000']
columns = row.split(';')  # columns: ['House floors, Wooden', 'metal and golden', '2000']

# But obviously what i want is this:
# columns : ['House floors', 'Wooden, metal and golden', '2000']
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助!

python

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

python获取实例变量的最佳实践

我想知道如何访问python类中的实例变量.我应该为每个实例变量创建一个方法,还是应该直接访问它们?

这是一个例子:

class Example(object):

    def __init__(self):
        self.x = 5

    def getX(self):
        return self.x

    def addYtoX(self, y):
        return self.x + y # OR: return self.getX() + y
Run Code Online (Sandbox Code Playgroud)

谢谢!

python

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

if/else块中的Java转换

我正在尝试获取2个值并将它们转换为Integer或Double,但我无法以如下所述的简单方式执行此操作,因为变量声明无法在块语句中完成:

if (args.get(0) instanceof Integer) {
    Integer left = (Integer) args.get(0);
} else {
    Double left = (Double) args.get(0);
}

if (args.get(1) instanceof Integer) {
    Integer right = (Integer) args.get(1);
} else {
    Double right = (Double) args.get(1)
}

return left + right; // this is not allowed
Run Code Online (Sandbox Code Playgroud)

当然,一个简单的解决方案是耗尽所有4种组合:

if (args.get(0) instanceof Integer && args.get(1) instanceof Integer) {
    return ((Integer) args.get(0)) + ((Integer) args.get(1));
} else if ...
Run Code Online (Sandbox Code Playgroud)

但是,我认为有一个简单而着名的设计模式可以实现我更加雄辩的想法.

java design-patterns

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

调用函数内部或外部过滤器

假设我有以下2个功能相同的代码片段,它们返回列表中也包含其反转的字符串:

var a = Array("abc", "bca", "abc", "aba", "cba")
a.filter(x => a.toSet(x.reverse)).distinct
Run Code Online (Sandbox Code Playgroud)

var a = Array("abc", "bca", "abc", "aba", "cba")
var aSet = a.toSet  // notice that toSet is called outside filter
a.filter(x => aSet(x.reverse)).distinct
Run Code Online (Sandbox Code Playgroud)

我想知道这些片段之间的时间复杂度是否存在差异,因为在第一个片段中我调用.toSet了每个元素a,而在第二个片段中我只在开头调用它.然而,话虽如此,有些东西告诉我编译器可能会优化第一个调用,从而产生相当于时间复杂度的2个片段.

如果后者是真的,你能否请我参考一些相关的文献?

谢谢.

optimization performance scala

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

Java中有2个相同的类

嗨!

我目前的项目中存在一个小的设计问题.我有一个班级,其中包含有关客户在商店的时间的信息.

public class Customer {
    private String enterTime;
    private String leaveTime;

    public void enterTimeToInt {
        Integer.parseInt(enterTime);
    } 

    public void leaveTimeToInt {
        Integer.parseInt(leaveTime);
    } 
}
Run Code Online (Sandbox Code Playgroud)

现在,在我的计划中,我遇到了一种情况,我必须确定在给定时间内店内是否有客户.现在,我所做的是我创建了Customer类的另一个实例,它表示给定的时间,然后检查它是否与任何"真正的"客户匹配.但问题是,我创造了一个客户对象,以更抽象的方式代表时间,而不是客户.

在这种情况下我该怎么办?我需要与Customer类完全相同的方法和变量,但我不认为只是创建一个表示随机时间而不是特定客户时间的Customer类是一个很好的设计选择.

非常感谢你!

java

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

Ruby方法覆盖

我刚刚开始使用Ruby,我遇到了一种我无法解释的非常奇怪的方法行为.例如:

class String
  def substitute
    gsub("a", "b")
  end
end

puts "aa".substitute # outputs: "bb"
Run Code Online (Sandbox Code Playgroud)

怎么会这样?我没有向'substitute'方法传递任何参数,它如何知道调用该gsub方法的字符串?在gsub可以省略的方法之前是否有一些不可见的属性?

在我看来,这是"常用"方法应该如何工作的方式.它得到了一个参数并对该数据进行操作.(但是,在前面的示例中,没有gsub可以操作的数据?)

def substitute(arg)
  arg.gsub("a", "b")
end
Run Code Online (Sandbox Code Playgroud)

ruby

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

C小代码无法正常工作.

我试图制作一个小的sqrtfunc,以便在今天的数学中减轻我的作业,但不知怎的,它不起作用.请你帮助我好吗?该程序只是找到给定数字的sqrt.

#include <stdio.h>
#include <math.h>

double sqrtfunc(double x);

int main(void)
{
    double y;
    scanf("%f", &y);
    printf("%f", sqrtfunc(y));

    return 0;
}

double sqrtfunc(double x) {
    double value;
    value = sqrt(x);
    return value;
}
Run Code Online (Sandbox Code Playgroud)

非常感谢你!

c math

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

多行的Java数组声明.

嗨!

我刚刚开始学习Java,我想知道在声明数组时是否有可能将数组元素放在多行中.

以下代码给出了一个错误:

public String[] songList = {'Stadium Arcadium', 'Make You Feel Better', 'Under The Bridge',
       'Wet Sand', 'Californication', 'Charlie', 'Aeroplane', 'Transcending', 'Ethiopia'};
Run Code Online (Sandbox Code Playgroud)

非常感谢你!

java arrays

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

标签 统计

python ×4

java ×3

arrays ×1

c ×1

design-patterns ×1

math ×1

optimization ×1

performance ×1

ruby ×1

scala ×1