我如何初始化一个私有数组,其中每一百项都等于一个两项数组,如{-1, 0}.我的代码显然不起作用,因为我问你们所有人.
example.h文件:
#ifndef EXAMPLE
#define EXAMPLE
class Example {
private:
char grid[10][10];
public:
Example();
};
#endif
Run Code Online (Sandbox Code Playgroud)
example.cpp:
#include "example.h"
#include <iostream>
Example::Example() : grid({-1, 0}) {}
Run Code Online (Sandbox Code Playgroud) 我正在阅读Java,我正在摸索为什么System.out.println("a: " + a);不会产生编译错误.在哪里a初始化?
public class localVariableEx {
public static int a;
public static void main(String[] args) {
int b;
System.out.println("a: " + a);
System.out.println("b: " + b); //Compilation error
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个程序,其中帮助文档位于与.py模块相同的文件夹中的.pdf中.我需要该程序使用系统的默认PDF阅读器打开.pdf.
我在我的程序中使用此代码:
if sys.platform.startswith('darwin'):
os.system("SlannanHelp.pdf")
elif sys.platform.startswith('linux'):
os.system("SlannanHelp.pdf")
elif sys.platform.startswith('win32'):
os.filestart("SlannanHelp.pdf")
Run Code Online (Sandbox Code Playgroud)
但是,当在Windows 7中运行时,我收到以下错误:
回溯(最近通话最后一个):文件 "C:\用户\用户\ MousePaw游戏\ MousePaw实验室\ Slannan\Slannan.py",线1286,在help_event os.filestart( "SlannanHelp.pdf")AttributeError的: '模块'对象没有属性'filestart'
我的猜测是os.filestart可以在NT系统中运行,但不能在Windows 7中运行.是否有适用于Windows 7的命令,或者适用于Windows 7的命令?如果是后者,我如何检查用户是否正在运行NT或7版本的Windows?
提前致谢!
我试图实现一个类,其中尝试访问当前类或其任何祖先中不存在的任何属性将尝试从成员访问这些属性.下面是我想要做的一个简单的版本.
class Foo:
def __init__(self, value):
self._value = value
def __getattr__(self, name):
return getattr(self._value, name)
if __name__ == '__main__':
print(Foo(5) > Foo(4)) # should do 5 > 4 (or (5).__gt__(4))
Run Code Online (Sandbox Code Playgroud)
然而,这提出了一个TypeError.即使使用operator模块的attrgetter类也可以做同样的事情.我正在查看有关自定义属性访问的文档,但我发现它并不容易阅读.我怎么能绕过这个?
有人可以向我解释为什么要Value.GetType().GetCustomAttribute回报null吗?我查看了十个不同的教程,了解如何获取枚举类型成员的属性.无论GetCustomAttribute*我使用哪种方法,我都没有返回自定义属性.
using System;
using System.ComponentModel;
using System.Reflection;
public enum Foo
{
[Bar(Name = "Bar")]
Baz,
}
[AttributeUsage(AttributeTargets.Field)]
public class BarAttribute : Attribute
{
public string Name;
}
public static class FooExtensions
{
public static string Name(this Foo Value)
{
return Value.GetType().GetCustomAttribute<BarAttribute>(true).Name;
}
}
Run Code Online (Sandbox Code Playgroud) 我试图测试一个点是否位于一个圆内,如果该点在周边,它应该包含在结果中.但是,Java的contains()实现使用的不是小于或等于.例如,请考虑以下代码段:
Ellipse2D.Double circle = new Ellipse2D.Double(0, 0, 100, 100);
System.out.println(circle.contains(50, 0));
System.out.println(circle.contains(50, 100));
System.out.println(circle.contains(0, 50));
System.out.println(circle.contains(100, 50));
System.out.println(circle.contains(50, 50));
Run Code Online (Sandbox Code Playgroud)
这打印出以下内容:
false
false
false
false
true
Run Code Online (Sandbox Code Playgroud)
如何实现true所有这些案例的价值?
由于值太多,我不希望类导致崩溃.我意识到需要268,435,456个整数(如果我的数学运算正确)才能占用一千兆字节(这是非常极端的).这个值只是有符号整数最大值的八分之一(这是我目前使用的最大长度.我应该对此加上一个上限吗?如果是这样,那么一个合理的数字是什么?一个无符号的短数是一个合理的长度你有没有需要一个超过65,536个值的数组?
我经常发现自己做了低效的循环:
def __add__(self, other):
dimensions = []
for i in range(max(self.numberOfDimensions, other.numberOfDimensions)):
a = None
if i < self.numberOfDimensions:
a = self[i]
b = None
if i < other.numberOfDimensions:
b = other[i]
# Doesn't actually do the right thing here.
dimensions.append(sum(map(lambda x: ((x is None) and 1 or 2) - 1, (a, b))))
return self.__class__(dimensions)
Run Code Online (Sandbox Code Playgroud)
计算很简单,它只是处理得到我的if语句类型.顺便说一下,这是元组的子类,其中add运算符添加类似的索引值(1, 2, 3) + (4, 5, 6, 7) == (5, 7, 9, 7).我认为这filter()对我有所帮助,但我不确定我是如何实现它的.
编辑:这是为Python 3.
也许我误解了这个问题.对于那些不熟悉Project Euler问题31的人来说,问题是:
调查英国货币面额的组合.
在英格兰,货币由英镑,英镑和便士p组成,一般流通中有八个硬币:
1p,2p,5p,10p,20p,50p,£1(100p)和£2(200p).
可以通过以下方式赚取2英镑:
1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p
使用任意数量的硬币可以制作多少种不同的方式?
我看到这可能是一个动态编程问题,但我忍不住走捷径:
为了解决这个问题,我分解了使用1p,1p和2p以及1p,2p和5p硬币可以制造1到6便士的方法.
我正在使用这个javascript来为多个元素添加一个类.我试图引用多个div和addClass.它只适用于第一个.
使用Javascript
<script>
$(function(){
if ( $(window).width() < 230 ) {
$('#item1').addClass('col1'); //max-width 80px
}
else
if ( $(window).width() >= 230 && $(window).width() < 330 ) {
$('#item1').addClass('col2'); //max-width 180px
}
else
{
$('#item1').addClass('col3'); //max-width 280px
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
如果我在页面上只有一个#item1但它似乎不想将类添加到同一div id中存在的多个项目,那么它正在工作.我甚至尝试将类添加到同一div类中存在的多个项而不是id.如果你能弄明白的话,任何一个都是mw的好解决方案.
我的HTML代码是
<div id="item1" class="blue">
<label for="amount">Price range:</label>
<input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold;" />
<div class="slider-range"></div>
</div>
<div id="item1" class="blue">
<label for="amount2">Price range:</label>
<input type="text" id="amount2" style="border:0; color:#f6931f; font-weight:bold;"/>
<div class="slider-range2"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
一直试图弄清楚这几个小时,所以我想我会问是否有人可以指出我正确的方向.提前致谢.