Collatz序列

58 views
Skip to first unread message

黃俊政

unread,
Aug 7, 2018, 12:18:07 AM8/7/18
to python.tw
程式碼:
print('Enter number:')
number = int(input())

try:
    while number > 1:   #check number 
    
        if number % 2 == 0:   #if number is even
            number = int(number / 2)
            print(number)
        
        else:   #if number is odd
            number = int(3 * number) + 1
            print(number)
            
except ValueError:   #If the wrong input next
    print('Please enter an integer')

我想用輸入驗證的方式看它可不可以分辨,輸入數字可以跑的,後來我打英文字母,我知道會出現錯誤,就跑出
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-2-f9dd328b7864> in <module>()
      1 print('Enter number:')
----> 2 number = int(input())
      3 
      4 try:
      5     while number > 1:   #check number

ValueError: invalid literal for int() with base 10: '/'
這一串文字,所以我增加了try與except的寫法,它遇到try內錯誤應該會跳到except內才對,怎麼一直出現錯誤阿!想問說我是語法錯誤了還是字有打錯,有人可以幫我找出錯誤嗎?謝謝

Sonic Yang

unread,
Aug 12, 2018, 11:48:56 AM8/12/18
to pyth...@googlegroups.com
try要在number = int(input())之前

sonic 
--
這是 Google 網上論壇針對「python.tw」群組發送的訂閱通知郵件。
如要取消訂閱這個群組並停止接收來自這個群組的郵件,請傳送電子郵件到 pythontw+unsubscribe@googlegroups.com
如要在這個群組張貼留言,請傳送電子郵件到 pyth...@googlegroups.com
請前往以下網址造訪這個群組:https://groups.google.com/group/pythontw
如需更多選項,請前往:https://groups.google.com/d/optout
Message has been deleted

Dincht Wu

unread,
Nov 8, 2018, 2:06:02 AM11/8/18
to python.tw
print('Enter number:')
number 
= int(input())

number = int(input('Enter number:'))
以上二種結果都是一樣。(這是題外話)

try:
    ...可能會出錯的Code在這裡...
except:
    ...出錯後要執行的Code在這裡...
Reply all
Reply to author
Forward
0 new messages