python - Python else块不打印任何东西
问题描述
在此代码中,其他块不打印值Treasure locked
def counted(value):
if(value == 5):
return 1
else:
return 0
def numb(value1):
sam = 95
value = 0
stp = 97
h = {}
for i in range(0,26):
h.update({chr(stp) : (ord(chr(stp))-sam)})
sam = sam-1
stp = stp+1
for j in range(0,5):
value = h[value1[j]]+value
if(value > 80):
print('First lock-unlocked')
else:
print('Treasure locked')
string = input()
firstcheck = counted(len(string))
if(firstcheck == 1):
numb(string)
解决方案
一个好主意是在输入 if 语句之前检查条件是什么,可能在value
if 语句之前检查正在打印的内容。in 的逻辑与 in 的def numb()
内容几乎没有关系def counted()
。只要一个正在1
或0
正在被传递给numb()
我们,我们就知道该函数将运行并且看起来像它。
推荐阅读
- java - Spring JAXWS SimpleJaxWsServiceExporter 的最佳实践 - JaxWsPortProxyFactoryBean
- python - 如何修复 AWS 上的 Django SQLite3 错误?
- npm - 使用 React 启动 Live Server 或“npm start”时 VS Code 不会启动 Web 浏览器
- flutter - Get.back () getx 上的数据更新
- python - 在python中使用while循环计算周长和面积
- html - 如何将 div 放在另一个 div 中,该 div 位于具有 float: left 属性的 div 旁边?
- jenkins - Jenkins checkout scm:如何获取标签?
- javascript - 将 localStorage 转换为字符串并从中删除特定元素
- java - Java Hashmap - 请解释哈希映射的工作原理
- mysql - 外键约束格式不正确