RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-441556

ugorek's questions

Martin Hope
ugorek
Asked: 2024-05-26 01:43:41 +0000 UTC

在循环后使用循环变量安全吗?

  • 6

假设我有一本特殊的字典,我知道它有可能包含空字符串的键。如果其中确实有一个空字符串键,那么它将始终位于第一位

dict_ex = {"":"Aaa", "Bb":"b", 1:"Cc", "Ddd":123}

如果我这样做:

def Aaa():

    for dk in dict_ex.keys():
        break

    if dk!="":
        print(dk)

    return None

Aaa()

在执行循环后读取变量是否可靠?
你永远不知道还有一些我不知道的陷阱或其他蟒蛇般的乐趣。

python
  • 1 个回答
  • 58 Views
Martin Hope
ugorek
Asked: 2023-12-04 03:37:58 +0000 UTC

为什么我们不能使用常量进行匹配?

  • 10

我正在查看问题的答案,然后发现它match与常规开关不一样。

例子:

a = 2
b = 2

match a:
    case 1: print("1!")
    case b: print("2!") #<-- так нельзя.
    case 3: print("3!")

他们也到处建议使用“点表示法”来解决这个问题。他们甚至展示了它是如何在那里工作的。

好吧,这当然很酷,但它看起来只是通常的“低级”解释,比如“这样做,不用担心”。

但我从哪里可以获得更高层次的解释呢?

在 python 中无法使用常量进行匹配背后的概念是什么?

python
  • 2 个回答
  • 85 Views
Martin Hope
ugorek
Asked: 2023-08-31 17:18:03 +0000 UTC

Python:如何编写更高一级的范围?

  • 7

这是一个简化的示例:

def Bbb():
    aaa = False
    def Ccc():
        aaa = aaa or True
    Ccc()
    print(aaa)
Bbb()

我想让它print()发行True。如何在Python中正确地做到这一点?

python
  • 2 个回答
  • 38 Views
Martin Hope
ugorek
Asked: 2023-08-14 18:34:14 +0000 UTC

exec() 和范围

  • 7

这段代码的执行符合预期:

def Aaa(): print("hi")
def Bbb(): Aaa()
Bbb()

但是,如果将其转换为一行exec()并运行:

exec('def Aaa(): print("hi")\ndef Bbb(): Aaa()\nBbb()')

出现错误:

  File "<string>", line 3, in <module>
  File "<string>", line 2, in Bbb
NameError: name 'Aaa' is not defined

为什么?

global Aaa;如果在调用之前添加就不会出错Aaa()。但这exec不是和“正常”执行一样吗?

是什么阻碍了在表演的背景下Bbb()观察?Aaa()exec()

更新:
这里发生了一些不干净的事情。

如果取消注释之一,则不会出现错误。

看来我进错论坛了。抱歉,我以为这只是一个 python 问题。

python
  • 1 个回答
  • 40 Views
Martin Hope
ugorek
Asked: 2023-06-21 09:44:00 +0000 UTC

将日期转换为“绝对”日期并返回的算法

  • 5

我的目标是计算给定日期之间和之前的天数0000.00.00 00:00:00,然后执行相反的操作。
我在“索引模式”中指定了月份和日期,所以它们是“ 00”;至于是哪一年,我不知道与它签订的协议。

在一年中的序数日和月/日之间进行转换很简单,因此问题被简化为只有年/序数日。

计算天数是一个小问题,解决起来几乎不难:

isLeap = (yr % 4==0) and (yr % 100!=0) or (yr % 400==0)
result = (yr*365 + yr//4 - yr//100 + yr//400 + int(yr>0)*(not isLeap)) + dy + 1

但把一切都变回来让我感到不安。
头疼了几天,用测试调试,还是没有解决。

例如:
带有索引的年份207 561和带有索引的有序日137都是75 810 237天。
这个数字包括闰年的调整;这也是逆变换的一个问题。

我的智力只能根据天数计算出当年的指数,即:

num = num - 1
num = num - num//146097
num = num - num//-36525
num = num - num//1461
result = num//365

给定天数,如何计算一年中的第几天?

我试图自己解决这个问题,甚至成功了……但由于我不知道的原因,36 600一年后我的方法失效了,每年每100年就会少发行一个。
这是我最接近的解决方案:

type
 HDivModResult=record
  year,day:Int64;
 end;
function AbsoluteDaysToYearLinearDivMod(num:Int64):HDivModResult;
  var
   tmp:Int64;
   tgl:Boolean;
 begin
  Result.year:=0;
  Result.day:=0;
  if num<1 then
   Exit;
  num:=num-1;
  tmp:=num-(num div 146097);
  tmp:=tmp-(tmp div -36525);
  tmp:=tmp-(tmp div 1461);
  Result.year:=tmp div 365;
  tgl:=(Result.year mod 4=0)and(Result.year mod 100<>0)or(Result.year mod 400=0);
  tmp:=((num+Byte(tgl))-(Result.year div 4-Result.year div 100+Result.year div 400));
  Result.day:=tmp mod 365;
  if (tgl)and(Result.day=0) then
   begin
    tmp:=tmp div 365;
    Result.day:=365*Byte(tmp<>Result.year);
   end;
 end;

我理解错了什么?

алгоритм
  • 1 个回答
  • 40 Views
Martin Hope
ugorek
Asked: 2022-05-01 18:08:03 +0000 UTC

为没有边框的窗口添加阴影(几乎完成)

  • 1

无边框窗口 ( BorderStype = bsNone) 可能看起来太平且不熟悉。因此,在网上搜索后,我能够理解如何手动添加阴影:

  TForm1 = class(TForm)
   ...
   procedure CreateParams(var Params:TCreateParams); override;
  end;
 
procedure TForm1.CreateParams(var Params:TCreateParams);
 begin
  inherited;
  Params.Style:=Params.Style or WS_SIZEBOX; //WS_THICKFRAME
 end;

结果证明是您所需要的,但有些意外。除了阴影之外,还出现了一条白色细条纹代替窗口标题(Windows 10)。

带阴影的无框窗

我的技能已经不足以自己移除它了。这结束了我的权力:C

  1. 这个白色条纹怎么去掉?
  2. 还是有另一种方法可以将普通阴影(如有边框的窗口)添加到无边框窗口?
  3. 也有一个选项Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW;,但它不适合。阴影完全不同,不适合可调整大小的窗口。
delphi
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5