python - python for循环函数输出一遍又一遍地带来相同的结果
问题描述
我写了一个检查 id 有效性的函数有一个执行少量计算的算法 - 首先确保 id 的 len 是 9 然后其他计算,结果应该除以 10 然后输出将是 True 或 False list6 包括列表 if list6=[21544622,301038725] 手动调用该函数将带来正确的结果 True 或 False,但是在循环中出现问题并得到相同的结果
l=[]
ls=[]
count=0
num=[1,2,1,2,1,2,1,2,1]
d=[]
list3=[]
def check_id(s):
b=0
z=0
s=str(s)
if len(s)<6:
print("wrong id")
elif len(s)==6:
s='000'+s
elif len(s)==7:
s='00'+s
elif len(s)==8:
s='0'+s
else:
pass
for digit in s:
l.append(int(digit))
b=list(zip(l,num))
for k,v in b:
d.append(k*v)
for n in d:
n=str(n)
if len(n)==2:
n=int(n[0])+int(n[1])
else:
n=int(n)
list3.append(n)
z=sum(list3)
return z%10==0
for x in list6:
check=0
check=check_id(s=x)
print(check)
解决方案
在打印每个步骤时经过几次测试后,我发现我的问题我需要将每个 ID 拆分为不同的数字,然后将其乘以 1 或 2 我错过了这一步,现在这应该可以了
推荐阅读
- c - 打印出字符串中的第三个单词。C
- c# - 使用 EF Core 和 ExecuteSqlCommandAsync 从存储过程中的 SELECT 语句访问结果
- asp.net-core - 用于 SPA 和移动设备的 ASP.NET Core 2.1 Web-API 身份验证。从哪儿开始?
- ruby-on-rails - Devise on Rails 在我登录后让我登录并且不让我发帖
- performance - 并行计算机中应用程序的性能和可扩展性
- r - 如何从ggplot2的两列中绘制两个变量(相同的单位%)?
- java - 无法“findViewById”graphview
- node.js - 检测 observable 何时连续两次发出相同的值
- reactjs - 这个 Redux 代码中发生了什么......对 mapDispatchToProps、调度和连接感到困惑
- c++ - 我的 if 、 else if 和 else 循环有什么问题?