以前,在不等式条件下,我总是使用not :if not a == b之类的。但是前几天,一位同事在阅读我的代码时,让我开始怀疑自己的行为是否正确,提醒我代码的强制性可读性和 Python 早已被遗忘的基础—— !=. 也许我错了,但我仍然认为这不是更直观和可读。那么,如何让代码变得更友好?文档中对此有何评论:重新训练自己是否有意义!=?
主页
/
user-357474
sensoid's questions
在我的理解中,当匹配的变量至少等于字典中的某个值时== any([])返回。True但是由于某种原因,当与列表匹配时,а具有值"14"(即 和а[-2:] == "14")的变量最终会产生False.
为什么以及如何实现这样的检查,以便如果变量至少等于列表中的某个值,它会产生True?
a = input()
print(a[-2:] == any(["11", "14", "13", "12"]))
我是 Python 新手,为了练习,我决定快速输入表达式计算器的代码,而不求助于 eval() 安全漏洞。这是我在几分钟内设法写的:
act*x = 0
act/x = 0
act+x = 0
act-x = 0
calc = input(" ")
if "/" in calc:
act/x = int(calc.split("/")[-2] / int(calc.split("/")[1])
if "*" in calc:
act*x = int(calc.split("*")[-2] * int(calc.split("*")[1])
if "+" in calc:
act+x = int(calc.split("+")[-2] + int(calc.split("+")[1])
if "-" in calc:
act-x = int(calc.split("-")[-2] - int(calc.split("-")[1])
print(act/x + act*x + act-x + act+x)
一切都会好的,但是当我尝试执行代码时,我收到以下错误:
File "lol.py", line 1
act*x = 0
^
SyntaxError: can't assign to operator
请告诉我错误的可能原因以及如何修复它。
我正在回顾一些 Python 中的实际任务,其中一个说:对于给定的正实数 A,有必要找到满足不等式的最小整数 K
:. 以我几乎为零的知识,我转储了以下代码:
a = float(input())
k = 2
while 1+range(0, 1/k) <= a:
k+=1
print(k)
但是,不幸的是,我收到了一个错误:
TypeError: 'float' object cannot be interpreted as an integer
原来 range 和 float 类型是不兼容的,这是语言官方文档里写的。出现了一个合乎逻辑的问题:是否有任何解决方法可以让他们成为朋友和/或以不同的方式呈现相同的代码?
我正在用python写一个简单的助手,我遇到了这样一个问题:在代码中
print(">>> Привет, я Енот, компьютерный ассистент!")
print(">>> Вот что я могу: ")
skills = ('1) Дать прогноз одежды', '2) Напомнить время', '3) Сосчитать выражение (калькулятор).')
for skill in skills:
print(skill)
act = input()
if not isinstance(act, int):
print("Упс, похоже ты где-то ошибся, посмотри на мой список команд ещё раз: ")
这样用户就不会在变量中输入act ,第一个if 'a 之后的代码总是被执行- “哎呀,看起来你在某处犯了错误,再看看我的命令列表:”为什么?如何解决?
该脚本以“亚洲/叶卡捷琳堡”格式确定用户的位置,但它应该只将城市传递给另一个脚本,即“叶卡捷琳堡”格式。有必要删除所有字符,包括“/”,这可能吗?

