2017-07-30 213 views
-3

说明: “创建一个python程序来检测,如果一些10位有效数字应该有10位数字,它不能包含数字。‘0’,不能包含重复的连续号码。“的Python:检测重复和连续的数字

...我使用的追加请求10号和验证,他们是0不同,但我仍然不知道如何看号码是连续的。

这是我到目前为止有:

list=[] 
for num in range (1,10): #Request 10 numbers (it can't be zero) 
    num=int (input("Add 10 digits:")) 
    list.append (num) 
    while num != 0: 
     print ("The number is valid.") 

回答

2

提示:

  • 使用STR()功能
  • 使用LEN转换为数字的字符串()函数来验证长度
  • 使用在运算符,以看是否验证的数字c ontains零
  • 使用zip(s, s[1:])作为一个简单的方法,使连续的字符一起
+1

还有一个暗示之前完成: **决定如何以及何时申请合法性测试** 换句话说,如果你想从用户输入的输入数运行有效性测试,然后'NUM = INT(输入(“添加10 d igits:“))'是为了获取用户输入的一个很好的方式,但你不应该有你'for'循环内的代码基础上的'范围(1,10)'。您可以使用while循环是这样的: '而(LEN(NUM)= 10,而不是在NUM '0'!):'[换行符] 'NUM =输入( “输入10位数字:”)' 如果你想生成所有可能的有效数字,这是一个更复杂的问题,但可以从'range(1,10)'开始。 –

0

使用while因为for将结束你循环,如果有重复的数字

mylist=[] 
while len(mylist) < 10: #Request 10 numbers (it can't be zero) 
    mylistLength = str(len(mylist)) 
    num=int(input("Add 10 digits [" + mylistLength +"]: ")) 
    if num not in mylist: 
     mylist.append(num) 
    else: 
     num=int(input("Digit exist, try other: ")) 
    if len(mylist) == 10: 
     print("The number is valid.") 

print(mylist)