如何使用for循环产生与下面相同的结果? [英] How do I use a for loop to produce the same result as below?
问题描述
我已经制作了代码来生成NRIC检查程序,但我不确定如何将循环应用于此。 for循环对我的任务是强制性的。
我尝试过:
def main():
x =输入(在此处输入您的身份证号码:)
如果是len(x),则为
! = 9:
打印(请输入合法的身份证。)
else:
first = int(x [1])* int(2)
second = int(x [2])* int(7)
third = int(x [3])* int(6)
fourth = int(x [4])* int(5)
five = int(x [5])* int(4)
第六= int(x [6])* int(3)
第七= int(x [7])* int(2)
全球y
y =(第一+第二+第三+第四+第五+第六+第七)
h = int(y)%11
b = 0
如果h == 0:
b ==J
elif h == 1:
b ==Z
elif h == 2:
b ==我
elif h == 3:
b ==H
elif h == 4:
b ==G
elif h == 5:
b ==F
elif h == 6:
b == E
elif h == 7:
b ==D
elif h == 8:
b ==C
elif h == 9:
b ==B
else:
b ==A
如果b == x [8]:
print(有效。)
else:
打印(无效。)
main()
类似于:
y = 0
mults = [ 2 , 7 , 6 , 5 , 4 , 3 , 2 ]
i 范围内( 0 , 6 ):
val = int(x [i])* mults [i]
y + = val
I have made code to produce a NRIC checker but am not sure on how to apply for loop into this. The for loop is compulsory for my assignment.
What I have tried:
def main():
x = input("Enter your NRIC number here:")
if len(x) != 9:
print ("Please enter a legitimate NRIC.")
else:
first = int(x[1]) * int(2)
second =int(x[2]) * int(7)
third =int(x[3]) * int(6)
fourth= int(x[4]) * int(5)
fifth= int(x[5]) * int(4)
sixth= int(x[6]) * int(3)
seventh= int(x[7]) * int(2)
global y
y = (first + second + third + fourth + fifth + sixth + seventh)
h = int(y) % 11
b = 0
if h == 0:
b == "J"
elif h == 1:
b == "Z"
elif h == 2:
b == "I"
elif h == 3:
b == "H"
elif h == 4:
b == "G"
elif h == 5:
b == "F"
elif h == 6:
b == "E"
elif h == 7:
b == "D"
elif h == 8:
b == "C"
elif h == 9:
b == "B"
else:
b == "A"
if b == x[8]:
print ("Valid.")
else:
print("Invalid.")
main()
Something like:
y = 0 mults = [2,7,6,5,4,3,2] for i in range(0,6): val = int(x[i]) * mults[i] y += val
这篇关于如何使用for循环产生与下面相同的结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!