作者:
erimow (Erimo)
2024-08-08 17:04:24※ 引述《erimow (阿歐伊)》之銘言:
: Write a function called "isPrime" that takes an integer as input, and returns
: a boolean value that indicates if the input number is prime.
: isPrime(1)
: # returns false
: isPrime(5)
: # returns true
: isPrime(91)
: # returns false
: isPrime(1000000)
: # returns false
: 我的想法
: 質數 = 只能被1和自己整除
: 1不是是質數,所以=1要False
: 2以後的數字,我只要寫如果在從2開始到自己前一位的數字,除下去有任何一個餘數是0
: 那就False
: 剩下就是True
: def isPrime(int):
: if int == 1:
: print(False)
: return False
: for i in range(2, int):
: if (int % i) == 0:
: print(False)
: return False
: print(True)
: return True
: 這個應該沒問題
: # Write a function called "palindrome" that checks if the input string is a
: palindrome.
: 這題我一開始想法是
: 回文就從第一個往後看和從最後一個往前看是一樣的
: 所以我本來是想說用index第一個跟最後一個一樣,第二個跟倒數第二個一樣
: n = len(str)
: 只要i 在range n裡面,j則是從index-1開始往回數
: 兩個 ==
: 那就是對的
: 反之就str[0] != str[-1]那就是false
: 但這樣不知道為啥寫不出來
: 前面這邊應該沒問題
: def palindrome(str):
: n = len(str)
: if str[0] != str[-1]:
: print(False)
: return False
: 但有問題的是後面這裡
: else:
: for i in range(0, n):
: for j in range(-1, n, -1):
: if str[i] == str[j]:
: print(True)
: return True
: 如果不是上面的情況應該是要回應True的
: 但卻沒辦法
: 我的想法應該是錯在for j這句
: -1開始應該沒錯,最後-1倒數應該也沒錯
: 但中間要放啥啊
: 感覺不是n n代表我數第一個就停了
def palindrome(string):
n = len(string)
for i in range(0, n):
if string[i] != string[n - i - 1]:
print(False)
return False
print(True)
return True
總之我就拿aaba在試
就是i要讓它裡面先跑一輪
每一個都碰一下確定都對
有不等於就是錯的
如果都沒有錯
for迴圈跑完
那就代表對對碰都是對的
所以外面return True