提问python基本概念

str_id = input("请输入您的身份证号码:") 

if str_id[0:16].isdigit() and len(str_id) == 18:
    print("true")
else:
    print("wrong ID")

问题1:
不同的方法怎么表示,如上例子 str_id 用 isdigit()方法时就是 str_id[0:16].isdigit() ,用len()方法时就是len(str_id)。 为啥一个是跟在后面,一个是包含在参数的位置。

问题2:
and 和 & 在使用上有区别吗

附加问题:
为什么我在jupyter 跑这个简单代码系统都迟迟不出结果(类似于卡住,显示In[×] 在执行,但是迟迟不出结果)可能原因是什么

img

1.一个是字符串方法,一个是内置方法
2.and 是逻辑运算,&是位运算
卡住因为input这个需要你输入身份证号码,jupyter下面有个空白提示框