Вы можете сделать это, используя ключевое слово levels
в контуре.
[/g1]
import numpy as np
import matplotlib.pyplot as plt
fig, axs = plt.subplots(1,2)
x = np.linspace(0, 1, 100)
X, Y = np.meshgrid(x, x)
Z = np.sin(X)*np.sin(Y)
levels = np.linspace(-1, 1, 40)
zdata = np.sin(8*X)*np.sin(8*Y)
cs = axs[0].contourf(X, Y, zdata, levels=levels)
fig.colorbar(cs, ax=axs[0], format="%.2f")
cs = axs[1].contourf(X, Y, zdata, levels=[-1,0,1])
fig.colorbar(cs, ax=axs[1])
plt.show()
Вы можете изменить цвета, выбирая и различные [ д0] Colormap ; используя vmin, vmax; и др.
В вашем цикле вы зацикливаетесь на длину, равную arguments
, но, поскольку это массив на основе 0, вы идете на одну итерацию слишком далеко. Измените <=
на <
:
var userEntry1 = Number(window.prompt("Enter in a number of your choice"));
var userEntry2 = Number(window.prompt("Enter in a number of your choice"));
var userEntry3 = Number(window.prompt("Enter in a number of your choice"));
var sum;
var i;
function addNumb(userEntry1, userEntry2, userEntry3) {
"use strict";
sum = userEntry1 + userEntry2 + userEntry3;
for (i = 0; i < arguments.length; i += 1) {
sum += Number(arguments[i]);
}
return sum;
}
addNumb(userEntry1, userEntry2, userEntry3);
window.console.log(sum);
Объект arguments
имеет ключи от 0
, поэтому вы должны проходить через этот объект от 0
до keys.length - 1
.
Объект arguments
на самом деле является объектом key-value
, поэтому вы можете использовать оператор in
.
var userEntry1 = Number(window.prompt("Enter in a number of your choice")),
userEntry2 = Number(window.prompt("Enter in a number of your choice")),
userEntry3 = Number(window.prompt("Enter in a number of your choice")),
sum,
i;
function addNumb(userEntry1, userEntry2, userEntry3) {
console.log(arguments)// keys from zero to keys.length - 1
"use strict";
sum = userEntry1 + userEntry2 + userEntry3;
for (var arg in arguments) sum += Number(arguments[arg]);
return sum;
}
addNumb(userEntry1, userEntry2, userEntry3);
console.log(sum);
Вы уже суммируете три введенных числа (sum = userEntry1 + userEntry2 + userEntry3;
) и вам вообще не нужен цикл for. Если вам нужно использовать цикл for
, то вам следует удалить строку sum = userEntry1 + userEntry2 + userEntry3;
. С помощью "use strict"
вам придется удалить объявления аргументов функции, чтобы избежать ошибок «переменная объявлена, но не используется».
var userEntry1 = Number(window.prompt("Enter in a number of your choice"));
var userEntry2 = Number(window.prompt("Enter in a number of your choice"));
var userEntry3 = Number(window.prompt("Enter in a number of your choice"));
function addNumb(userEntry1, userEntry2, userEntry3) {
"use strict";
var sum = userEntry1 + userEntry2 + userEntry3;
return sum;
}
function addNumb2() {
"use strict";
for (var i = 0, sum = 0; i < arguments.length; i++) {
sum += Number(arguments[i]);
}
return sum;
}
console.log(addNumb(userEntry1, userEntry2, userEntry3));
console.log(addNumb2(userEntry1, userEntry2, userEntry3));