caspar1 发表于 2022-3-24 20:22:00

python 完全奇數

判斷輸入的數字是否為完全奇數
例如13579 每一項都為奇數
123 因為二是偶數所以不為完全奇數

我想到的方法是用切片,但我不知道如何int型態的如何去切

isdkz 发表于 2022-3-24 20:29:33

整数不能切片,你可以用这种方法:
num = int(input('请输入你的数字:'))

x = num
while x:
    temp = x % 10
    if not(temp % 2):
      print(f'{num}不是完全奇数')
      break
    x //= 10
else:
    print(f'{num}是完全奇数')
要么你就对字符串迭代,然后把它的每个字符转成整数来判断:
num = input('请输入你的数字:')

for i in num:
    if not(int(i)%2):
      print(f'{num}不是完全奇数')
      break
else:
    print(f'{num}是完全奇数')

caspar1 发表于 2022-3-24 21:58:17

isdkz 发表于 2022-3-24 20:29
整数不能切片,你可以用这种方法:

要么你就对字符串迭代,然后把它的每个字符转成整数来判断:

了解 原來可以用這種方法 非常謝謝您

傻眼貓咪 发表于 2022-3-25 11:01:55

复习复习foo = lambda num: True if num&1 and abs(num) < 10 else False if not (num%10)&1 else foo(int(num/10))
print(foo(-13579), foo(13479))True False

qq1151985918 发表于 2022-3-25 11:34:58

isOdd = lambda x: True if int(x)%2 else False
isAllOdd = lambda x: all(map(isOdd, str(x)))
print(isAllOdd(12345))
print(isAllOdd(13579))
页: [1]
查看完整版本: python 完全奇數