2017-07-30 212 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)