python - 是否有什么我遗漏的东西,因为在 JupyterLab 中工作时我在 HackerRank 上遇到错误?
问题描述
我正在制作一个简单的程序来检查 UID 是否有效。
它必须包含至少 2 个大写英文字母字符。
它必须至少包含 3 个数字 (0 - 9)。
它应该只包含字母数字字符(az、AZ 和 0-9)。
任何字符都不应重复。
有效的 UID 中必须有确切的字符。
这是我正在使用的代码。它在我的 JupyterLab 中运行良好,但它给了我 Hackerrank 上的类型错误。
if __name__ == '__main__':
n = int(input("Enter the number of test cases: "))
q = str(input("Enter the UID: "))
cap_count = 0
num_count = 0
for x in q:
if x.isupper():
cap_count = cap_count+1
if cap_count > 1 and x.isnumeric():
num_count = num_count+1
if (len(q) == 10) and (q.isalnum()) and (len(q) == len(set(q))) and (cap_count > 1) and (num_count > 2):
print("Valid")
else:
print("Invalid")
它应该返回有效或无效 这是完整的 Traceback
Traceback(最近一次调用最后):文件“Solution.py”,第 17 行,在 if (len(q) == 10) and (q.isalnum()) and (len(q) == len(set(q ))) (cap_count > 1) 和 (num_count > 2): TypeError: 'bool' object is not callable
我知道这不是你们见过的最干净的代码。但是真的可以使用关于为什么它在 Jupiterlab 而不是在hackerrank 上运行良好的洞察力,即使两者都使用 python3。
另外,我正在输入 n ,因为它需要作为输入之一,但没有用。
解决方案
推荐阅读
- python - Selenium 显式等待在 Python 中不起作用
- salesforce - Lightning:card 组件页脚中不同列表视图的动态链接 - Salesforce
- java - SocketChannel.read() 只得到了一次正确的数据并且为空
- gams-math - GAMS - 整数变量作为索引
- java - 修改在 lambda 的封闭范围中定义的数组
- hibernate - grails/GORM 实例与 get 与 read 获取的域之间的差异
- c++ - 如何从源代码为不同的主机构建 android adb
- c++ - 如何从实现接口的模板类实例访问结构
- python - 返回输入查询的最佳匹配,在 python 中有几个特征
- angular - 角度资产图像有时会给出 404