我正在尝试使用轮廓数据点绘制 scatter_ternary 图中数据框中三列的数据。
数据框中的列是Power (W)、Speed (mm/s)和Hatch (mm),我使用数据框中的另一列 ( Energy Density (J/mm^3)) 来改变每个数据点的大小,并使用另一列Relative Density (%)来应用轮廓。
数据从 0 到 1 进行了 min-max 标准化,因为列值的比例有几个数量级的变化。我写了下面的代码:
fig = px.scatter_ternary(df_all, 'Power (W)', 'Speed (mm/s)', 'Hatch (mm)',
hover_name="Build", symbol="Build", size = "Energy Density (J/mm^3)",
color="Relative density (%)",
title='Process Window', size_max=15, width=875, height=700,
symbol_sequence = [0,3,5,14,2,26])
# move colorbar
fig.update_layout(coloraxis_colorbar=dict(yanchor="top", y=1.05, x=1,
ticks="outside", ticksuffix="%"))
# move legend
fig.update_layout(legend=dict(yanchor="top", y=1.025, x=0.775))
fig.update_layout({
'ternary':
{
'sum':1,
'aaxis':{'title': 'Min-Max Normalized Laser Power<br>', …Run Code Online (Sandbox Code Playgroud) 我正在审查一些代码,我发现了这个:
public static doSomething(String myString, String myString2) {
//Stuff
}
public static doAnotherThing(String myString) {
return doSomething(myString = myString != null ? myString.toLowerCase(): myString, null)
}
Run Code Online (Sandbox Code Playgroud)
这是如何工作的?我知道.toLowerCase结果字符串被分配给myString(是的我知道不好的做法,因为你不应该重新分配方法参数,事实上它们应该是最终的),但是我不太确定方法总是接收它需要的2个参数.
当myString为null或者至少我认为我这样做时,我知道它是如何工作的,因为三元有myString,null,但我不太清楚为什么当myString不为null时它会去那里?
我想检查2个变量是否相同,如果是,则回显一个字符串.这可能在连接中吗?并且没有创建单独的功能吗?
例如
$var = 'here is the first part and '. ( $foo == $bar ) ? "the optional middle part" .' and the rest of the string.'
编辑
请注意,我想看看是否有办法做到这一点没有了: ''.如果你愿意的话,是"二元运算符".
如何在python三元组中使用continue?这甚至可能吗?
例如
>>> for i in range(10):
... x = i if i == 5 else continue
Run Code Online (Sandbox Code Playgroud)
给一个 SyntaxError: invalid syntax
如果可以继续使用三元组,还有其他方法可以做到这一点:
>>> for i in range(10):
... if i ==5:
... x = i #actually i need to run a function given some condition(s)
... else:
... continue
...
>>> x
5
Run Code Online (Sandbox Code Playgroud) 我正在研究一些Java,因为我遇到了下面这段代码.我理解典型的三元运算符(例如下面以"boolean a"开头的行),但我无法理解如何读取以"boolean b"开头的行上的表达式.任何有关如何阅读此行的帮助将不胜感激!谢谢!
public class Ternary{
public static void main (String[] args){
int x = 10;
int i = 2;
boolean a = x > 10 ? true: false;
boolean b = a = true ? ++i > 2 ? true:false:false;
System.out.print(b);
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
<div class="col-sm-8 col-sm-pad ">
@Html.DropDownListFor(model => model.SelectedAssignToId, Model.AssignToListItems,
ViewBag.CanEditRequest ? new { @class = "form-control" } : new { @class = "form-control", @disabled = "disabled" })
</div>
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
错误CS0173:无法确定条件表达式的类型,因为'AnonymousType#1'和'AnonymousType#2'之间没有隐式转换
如何在剃刀中的匿名类型上使用三元表达式?
今天我在Codegolf StackExchange上做了另一个Codegolf挑战,我试着这样做:
SomeEnum = SomeCondition ? 1 : 2;
Run Code Online (Sandbox Code Playgroud)
但是这告诉我Cannot convert source type 'int' to target type 'SomeEnum',所以我尝试了这个:
SomeEnum = SomeCondition ? (SomeEnum)1 : (SomeEnum)2;
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题,但令我惊讶的是,这里的第一次演员据说是多余的.我的问题是:为什么我只需要将最后一个整数转换为 SomeEnum?
我知道两位 A 和 B 的基数 2 中的 XOR 运算符是 (A+B)%2。换句话说,它是模 2 的加法。
如果我想在三元系统(基数为 3)中计算 XOR 运算的真值表,它是否与加法模 3 相同?例如:在基数为 3 的系统中,是否 2 XOR 2 = 1(因为 (2+2)%3 = 1)?
我读了这个链接,它表明 base 3 系统中的 2 XOR 2 是 2,我无法理解背后的公式?
通常,对于任何基数“x”,该基数的 XOR 运算是否为 x 模数?
I have a piece of code:
if (foo > bar) {
baz = foo - bar
} else {
baz = foo + bar
}
Run Code Online (Sandbox Code Playgroud)
I have a question if I can somehow shorten this code to a single line, something like
PSEUDOCODE:
baz = foo (foo > bar ? + : -) bar
Run Code Online (Sandbox Code Playgroud)
Real code I'd like to shorten
if (gradientStartH > gradientEndH) {
h = gradientStartH - Math.abs(gradientStartH - gradientEndH) / arr.length * i
} else {
h …Run Code Online (Sandbox Code Playgroud) 编辑:对于遇到此问题的任何人,我发现在https://perldoc.perl.org/perlop#Conditional-Operator的 perldoc 中几乎逐字记录了这一点
在编写一个简单的子程序时,我发现我使用三元运算符不断得到错误的结果,但使用更简单的 if 语句得到正确的结果。我确定有一个解释,但我只是没有看到它。
当输入以下输入时:
my @input = (4, 5, 7, 8, 1, 2, 3, 0);
sum_square_even_root_odd(\@input);
Run Code Online (Sandbox Code Playgroud)
结果应该是 91.61。
以下(使用三元)结果为 175.61。
sub sum_square_even_root_odd {
my ($nums) = @_;
my $sum = 0;
map { $_ % 2 ? $sum+= sqrt $_ : $sum += $_ ** 2 } @{$nums};
return sprintf('%.2f', $sum) + 0;
};
Run Code Online (Sandbox Code Playgroud)
但是,结果是简单地更改为 if 语句时的预期结果
sub sum_square_even_root_odd {
my ($nums) = @_;
my $sum = 0;
map { if( $_ % 2 ) …Run Code Online (Sandbox Code Playgroud)