簡體   English   中英

為什么會收到有關“ /不支持的操作數類型”的錯誤?

[英]Why do I get an error about 'unsupported operand types for /'?

該程序應檢查輸入的數字是否為質數。

def checkPrime():
    primeASK = raw_input('''Please enter a prime number.''')
    print 'Your Number is %s.' %(primeASK)

    if primeASK.isdigit():
        primeASK = int(primeASK)
        number = 1

        while primeASK > number:
            print primeASK / number

            number += 1 


checkPrime()

這是我一直收到的錯誤(顯然程序不完整)

Traceback (most recent call last):
  File "C:/Python27/Lib/idlelib/primeChecker.py", line 14, in <module>
    checkPrime()
  File "C:/Python27/Lib/idlelib/primeChecker.py", line 5, in checkPrime
    if primeASK.isdigit():
AttributeError: 'int' object has no attribute 'isdigit'

您嘗試將字符串除以整數,因此,需要首先將輸入解析為int

def checkPrime():
    primeASK = raw_input('''Please enter a prime number.''')
    print 'Your Number is %s.' %(primeASK)

    if primeASK.isdigit():
        primeASK = int(primeASK)
        number = 1

另外, number + 1應該是number += 1

primeAsk是一個String,因為這是raw_input()返回的結果。 您的錯誤是您將字符串除以整數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM