2 个物体、一个黑色方块和我作为总和或概述的文本...
我弄清楚了如何对齐对象。但我也希望弄清楚如何确保黑色方块相对于内部对象(最小的)的内部边距是相同的。
此外,确保黑色方块的尺寸发生变化,并且不要拉伸或收缩文本对象......
或者,计算并移动。也许可以自动完成此操作。通过仅指定填充...
第二个问题。我做出了改变,在黑色方块上,最小的物体将被嵌入,就像以前一样。可以将两个对象合二为一。与差异一样,只有最小的物体没有被切掉。假设它是白色或黄色的,一个物体......而不是两个......
current_users = ['machina', 'bezbazarov', 'kocherginr', 'komap', 'qwerty', 'BezbazarovAA']
new_users = ['Bezbazarov', 'arnold', 'kingkong', 'komap', 'byxapecT']
for new_user in new_users:
if new_user.lower() in current_users.lower():
print (f'Извини, имя {new_user.title()}, занято. Выбери другое!')
else:
print (f'Имя {new_user}, свободно. Добро пожаловать!')
有必要在两个列表中检查名称是否小写。如果我从 current_users 中删除 .lower,那么一切正常,但检查不正确......因为 lower 仅用于 new_users 列表
扩展名为 .vcf (VCARD) 的文件片段
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;=D0=9C=D0=A2=D0=A1;;;
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=D0=9C=D0=A2=D0=A1
TEL;CELL;PREF:+78002500123
END:VCARD
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;=D0=A1=D0=BB=D1=83=D0=B6=D0=B1=D0=B0=20=D1=81=D0=BF=D0=B0=D1=81=D0=B5=
=D0=BD=D0=B8=D1=8F;;;
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=D0=A1=D0=BB=D1=83=D0=B6=D0=B1=D0=B0=20=D1=81=D0=BF=D0=B0=D1=81=D0=B5=
=D0=BD=D0=B8=D1=8F
TEL;CELL;PREF:112
END:VCARD
我的代码
import vobject
with open('test.vcf') as source_file:
vcf_read_components = vobject.readComponents(source_file)
for item in vcf_read_components:
print(item)
出现解析错误
Traceback (most recent call last):
File "/home/xxx/experiments/book.py", line 5, in <module>
for item in vcf_read_components:
File "/home/xxx/experiments/venv/lib/python3.11/site-packages/vobject/base.py", line 1166, in readComponents
vline = textLineToContentLine(line, n)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/xxx/experiments/venv/lib/python3.11/site-packages/vobject/base.py", line 984, in textLineToContentLine
return ContentLine(*parseLine(text, n), **{"encoded": True, "lineNumber": n})
^^^^^^^^^^^^^^^^^^
File "/home/xxx/experiments/venv/lib/python3.11/site-packages/vobject/base.py", line 864, in parseLine
raise ParseError("Failed to parse line: {0!s}".format(line), lineNumber)
vobject.base.ParseError: At line 19: Failed to parse line: =D0=BD=D0=B8=D1=8F;;;
<VCARD| [<VERSION{}2.1>, <FN{'CHARSET': ['UTF-8']}МТС>, <N{'CHARSET': ['UTF-8']} МТС >, <TEL{}+78002500123>]>
从 2024 年 11 月 15 日起,当联系人拥有多个号码时进行澄清。
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=D0=94=D0=BE=D1=80=D1=84;=D0=9C=D0=B0=D0=BA=D1=81;;;
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=D0=9C=D0=B0=D0=BA=D1=81=20=D0=94=D0=BE=D1=80=D1=84
TEL;CELL:+79128051234
TEL;CELL:+79097484321
END:VCARD
import vobject
with open('test.vcf') as source_file:
vcf_read_components = vobject.readComponents(source_file, allowQP=True)
for item in vcf_read_components:
print(item)
print(item.fn.value)
print(item.tel.value)
item.tel.value仅返回第一个
<VCARD| [<VERSION{}2.1>, <FN{'CHARSET': ['UTF-8']}Макс Дорф>, <N{'CHARSET': ['UTF-8']} Макс Дорф >, <TEL{}+79128051234>, <TEL{}+79097484321>]>
Макс Дорф
+79128051234
我有一个json文件,它的一些字段是作为字符串进行比较操作。我需要将其字符串翻译成语句。我可以这样做:
if str_operator == '>':
if a > b:
pass
else:
pass
if str_operator == '<':
if a < b:
pass
else:
pass
...
但这种情况下代码会变得很大。
我尝试使用 exec() ,一切都很好,直到分配出现。我尝试通过 eval() 来实现所有内容,但我要么没有正确理解它是如何工作的,要么是条件不能在 eval() 中使用。
我希望在这种情况下,除了第一种方法之外还有其他方法。
我正在运行一个 C++ 测试,并遇到了这个任务,如果你仔细想想,结果应该是 False,我在三个编译器中检查了它并被卡住了。请解释一下为什么是假的?优先事项 !更高,但是是从右到左;本例中其余运算符的优先级较低,从左到右。