例如,有一个列表,其中包含一条线上的两个点的坐标,它按照点之间的距离升序排序。
a = [(-1, -3), (2, 3), (5, 9), (-4, 4)]
对于坐标 (-1, -3) 和 (2, 3),点之间的距离相等。它们必须通过增加第一个点的坐标值,然后增加第二个点的值来排序。
也就是说,输出应该是:
[(2, 3), (-1, -3), (5, 9), (-4, 4)]
谢谢你!
例如,有一个列表,其中包含一条线上的两个点的坐标,它按照点之间的距离升序排序。
a = [(-1, -3), (2, 3), (5, 9), (-4, 4)]
对于坐标 (-1, -3) 和 (2, 3),点之间的距离相等。它们必须通过增加第一个点的坐标值,然后增加第二个点的值来排序。
也就是说,输出应该是:
[(2, 3), (-1, -3), (5, 9), (-4, 4)]
谢谢你!
我正在编写一个代码分析程序。起初我认为打开文件的正确方法.cs
是从文件中获取.sln
与给定解决方案相关的项目列表,然后从每个单独的项目 ( .csproj
) 中获取其文件列表.cs
。
然而,在分析.csproj
不同项目的文件时,我发现它们并不总是包含.cs
与特定项目相关的文件的完整列表。我根本没有找到专门的解析器.sln
。
请告诉我Visual Studio本身如何找到这些文件?
一开始,我打算简单地搜索.cs
特定目录中的文件,但后来我想以一种美观且正确的方式做到这一点。但具体应该如何做尚不清楚。
private T Create<T>()
{
return new T();
{
我需要实现类似的东西,以便将泛型作为输入传递并接收该类的特定实例作为输出
大家好。一行中最多可以有三列,然后在添加新列表项时,它会移动到新行,在这种情况下,该元素将必须占据该行的整个可用宽度,并且如果有两个新元素,然后它们将宽度分开。有点像为元素设置flex: 1 0 315px。
* {
box-sizing: border-box;
}
.content {
display: grid;
width: 1024px;
grid-template-columns: 315px 1fr;
gap: 20px;
}
.content__list {
grid-row: 2;
grid-column: 1 / -1;
display: grid;
gap: 15px;
grid-template-columns: repeat(auto-fit, minmax(315px, 1fr));
}
<div class="content">
<h2 class="content__title">TITLE</h2>
<ul class="content__list">
<li class="content__list-item">
<h3 class="content__list-title">
Lorem
</h3>
<p class="content__list-text">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium at dolorum blanditiis minus. Quae facere consequuntur dolorum laborum ipsum nam natus, laboriosam, ab ipsam corrupti eaque sed aperiam quibusdam blanditiis neque nobis omnis saepe ducimus voluptas eius eum! Sunt assumenda explicabo fugit molestiae ut, odit quia blanditiis mollitia earum velit.
</p>
</li>
<li class="content__list-item">
<h3 class="content__list-title">
Lorem
</h3>
<p class="content__list-text">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium at dolorum blanditiis minus. Quae facere consequuntur dolorum laborum ipsum nam natus, laboriosam, ab ipsam corrupti eaque sed aperiam quibusdam blanditiis neque nobis omnis saepe ducimus voluptas eius eum! Sunt assumenda explicabo fugit molestiae ut, odit quia blanditiis mollitia earum velit.
</p>
</li>
<li class="content__list-item">
<h3 class="content__list-title">
Lorem
</h3>
<p class="content__list-text">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium at dolorum blanditiis minus. Quae facere consequuntur dolorum laborum ipsum nam natus, laboriosam, ab ipsam corrupti eaque sed aperiam quibusdam blanditiis neque nobis omnis saepe ducimus voluptas eius eum! Sunt assumenda explicabo fugit molestiae ut, odit quia blanditiis mollitia earum velit.
</p>
</li>
<li class="content__list-item">
<h3 class="content__list-title">
Lorem
</h3>
<p class="content__list-text">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium at dolorum blanditiis minus. Quae facere consequuntur dolorum laborum ipsum nam natus, laboriosam, ab ipsam corrupti eaque sed aperiam quibusdam blanditiis neque nobis omnis saepe ducimus voluptas eius eum! Sunt assumenda explicabo fugit molestiae ut, odit quia blanditiis mollitia earum velit.
</p>
</li>
</ul>
</div>
我需要 3 个产品的 json 信息(名称、描述) 在 html 本身中有 3 个按钮,当您单击按钮 1 时,会显示产品 1 的名称及其在 html 中的描述,依此类推
我不知道如何实现这个。请帮忙
var myObject = {
"catalogo": [{
"id": 0,
"name": "one",
"description": "111"
},
{
"id": 1,
"name": "two",
"description": "222"
},
{
"id": 2,
"name": "three",
"description": "333"
}
]
};
let name = document.getElementById('name')
let description = document.getElementById('description')
const bnt1 = document.getElementById('bnt1')
const bnt2 = document.getElementById('bnt2')
const bnt3 = document.getElementById('bnt3')
<div>
<h1 id="name"></h1>
<p id="description"></p>
<div>
<button id="bnt1">1</button>
<button id="bnt2">2</button>
<button id="bnt3">3</button>
</div>
</div>
我在研究格式化方法时遇到了这个事情:
test = 'Name'
exec('{0} = {1}'.format(test, 10))
a = Name # Python жалуется на Unresolved reference 'Name' При этом код воспроизводится без ошибок.
print(a) # Вывод: 10 Где в данный момент хранится переменная Name?
print(Name-5) # Вывод: 5
print(test) # Вывод: 'Name'
第一个问题是,它是什么以及为什么它有效?这是使用 % 格式的类似条目:
exec('%s = %d' % (test, 10)) # Работает так же как и метод .format() - без проблем.
但由于某种原因,使用 f 格式的类似条目不再有效:
exec(f'{(test := 10)}') # Эквивалентная запись с помощью f-форматирования выдаёт NameError: name 'Name' is not defined. Did you mean: 'name'? То есть как и должно работать.
实际上,第二个问题是,在重现上述代码时,f 字符串与其他类型的格式化有何不同?为什么这里不起作用?
假设我有一个初始化接口,它包含 Init 方法,我需要以某种方式在实现该接口的类的所有实例中立即调用它,但问题是我不知道如何执行此操作。在上下文中,此方法应该首先严格启动所有类,这意味着通过单例的委托或订阅将无济于事(将其放入列表中也不是一个选项),您无法确切知道该类是在哪里创建的。
我想尝试在创建实例时将类写在某个地方,但没有成功
ps 我想实现一个与 zenject 类似的系统(使用方法的属性注入一个类)
使用 传递参数的方法keyword *args или **kwargs
。作为这些关键字的实现示例,实现了该类Car
:
class Car():
def __init__(self, *args):
self.speed = args[0]
self.color = args[1]
audi = Car(200, 'red')
bmw = Car(250, 'black')
mb = Car(190, 'white')
print(audi.color)
print(bmw.speed)
我们可以看到,创建类的对象时Car
,参数被传递给方法__init__
,然后从数组中赋值args
。
问题:如果我们使用args
通常的参数列表来代替,是否会有显着差异或什么也不会发生?
UPD:根据答案和评论,我想到了使用这些的成功示例keywords
。基本上,将所有参数传递到一个堆中然后写入或处理它们会很方便。例如:
import logging
logging.basicConfig(filename='example.log',
level=logging.INFO)
def logger(func):
def log_func(*args):
logging.info(f'Running "{func.__name__}" with arguments {args}')
print(func(*args))
return log_func
def add(x, y):
return x+y
def sub(x, y):
return x-y
add_logger = logger(add)
sub_logger = logger(sub)
add_logger(3, 3)
add_logger(4, 5)
sub_logger(10, 5)
sub_logger(20, 10)
我们得到结果:
python .\ClosureFuntcionsPython.py
6
9
5
10
cat .\example.log
INFO:root:Running "add" with arguments (3, 3)
INFO:root:Running "add" with arguments (4, 5)
INFO:root:Running "sub" with arguments (10, 5)
INFO:root:Running "sub" with arguments (20, 10)
该问题的代码不起作用,请帮我用Python解决它
蛙跳问题
道路上铺着一排瓷砖,瓷砖的编号从1到1000。编号为A、B、C(A<B<C)的瓷砖上坐着三只蚱蜢,它们按照以下规则玩蛙跳游戏:
一块瓷砖上只能有一只蚱蜢。
一回合中,最外面的两只蚱蜢之一(即从 A 格或 C 格)可以跳过中间的蚱蜢(B 格)并站在剩下的两只蚱蜢中间的格子上(即,分别在 B 和 C 之间或 A 和 B 之间)。如果剩下的两只蚱蜢之间的棋子数量是偶数,那么他可以选择中间的两个棋子中的任何一个。
例如,如果蚱蜢最初坐在 1、5、10 号图块上,那么在第一次移动时,来自 10 号图块的蚱蜢可以跳到 3 号图块(它位于 1 和 5 之间的中间),或者从1 号图块可以跳转到 7 号或 8 号图块(这两个图块位于 5 号图块和 10 号图块之间)。
给出三个数字:A、B、C。确定游戏可以持续的最大步数。
输入数据
该程序接收三个整数 A、B 和 C (1≤A<B<C≤1000) 作为输入,这三个整数写在单独的行中。
印记
打印一个数字——游戏可以持续的最大步数。
注释例如
在本例中,首先,第 6 格的蚱蜢跳到 3 号格。然后,蚱蜢从#4 块跳到#2 块。
示例
输入数据
1
4
6
印记
2
它在 100 分满分的 4 分和 60 分测试中产生错误,但无法看出哪个错误:
a = int(input())
b = int(input())
c = int(input())
d = (c - b) + (b - a) - 2
s = 0
while d > 0:
s += 1
d >>= 1
print(s)
<?
function request($url, $method = 'GET', $fields = null, $cookiesPath = null, $keepCookies = true) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if (strtoupper($method) === 'GET' && $fields) {
$url .= '?' . http_build_query($fields);
curl_setopt($ch, CURLOPT_URL, $url);
} else if (strtoupper($method) === 'POST') {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Content-Length: ' . strlen(json_encode($fields))
]);
}
if (!$cookiesPath) {
$cookiesRandomName = substr(str_shuffle(str_repeat('0123456789abcdefghijklmnopqrstuvwxyz', ceil(30 / 36))), 0, 30);
$cookiesPath = __DIR__ . $cookiesRandomName . '.txt';
}
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiesPath);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiesPath);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
$response = curl_exec($ch);
if ($errorCode = curl_errno($ch)) {
$errorMessage = curl_error($ch);
curl_close($ch);
if (file_exists($cookiesPath)) {
unlink($cookiesPath);
}
return [ 'error' => [ 'code' => $errorCode, 'message' => $errorMessage ] ];
}
$HTTP_CODE = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($keepCookies) {
return [ 'HTTP_CODE' => $HTTP_CODE, 'response' => json_decode($response, true), 'cookiesPath' => $cookiesPath ];
} else {
if (file_exists($cookiesPath)) {
unlink($cookiesPath); // Место ошибки
}
return [ 'HTTP_CODE' => $HTTP_CODE, 'response' => json_decode($response, true) ];
}
}
我正在编写一个 PHP 脚本,它使用 request() 函数发出 HTTP 请求。在此函数内,我尝试使用 unlink() 删除临时 cookie 文件,但尽管该函数返回成功删除消息,但该文件仍存在于磁盘上。使用示例:
$response = request('https://example.com/login', 'post', [ 'login' => 'name', 'password' => 'hash' ]);
$response = request('https://example.com/profile', 'get', null, $response['cookiesPath'], false);
令人惊讶的是,当 unlink() 在函数外部使用时,不会发生此类事件。一般来说,有趣的行为和最大的陌生感。使用适用于 Windows 11 的 XAMPP。还在 Apache/2.4.6 上的托管上进行了测试。