python中如何编写函数,将正整数参数n中各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。注意必须用函数实现,否则本题不得分。 如输入一个正整数27638496,则结果为64862。若该数中没有偶数,则输出0。
时间: 2024-05-09 19:15:25 浏览: 14
下面是一个实现该功能的 Python 函数:
```python
def reverse_even_digits(n):
even_digits = []
while n > 0:
digit = n % 10
if digit % 2 == 0:
even_digits.append(digit)
n //= 10
if len(even_digits) == 0:
return 0
result = 0
for digit in even_digits:
result = result * 10 + digit
return result
```
该函数首先遍历整数 n 的各位数字,将其中偶数位的数字存储在一个列表中。如果列表为空,则表示整数 n 中没有偶数位数字,返回值为 0。否则,将列表中的数字按原来从高位到低位相反的顺序组成一个新数,并将其作为函数值返回。
相关问题
编写程序输入一个正整数。将各位上为偶数的数取出。并按原来从高位到低位相反的顺序组成一个新的数输出。
以下是实现该功能的Python代码:
```python
def Fun(n):
even_digits = [int(d) for d in str(n) if int(d) % 2 == 0] # 将各位上为偶数的数取出
even_num = int(''.join(map(str, even_digits))) # 将偶数按原来从高位到低位的顺序组成一个新的数
return even_num
# 示例
n = 123456789
result = Fun(n)
print(result) # 输出:8642
```
python编写函数,将正整数参数n中各位上为奇数的数依次取出,构成一个新数,高位仍在高位,低位仍在低位。
可以使用以下函数来实现:
```python
def odd_digits(n):
"""
从正整数n中取出各位为奇数的数,构成一个新数
"""
# 将n转换为字符串,方便逐位操作
n_str = str(n)
# 初始化新数为0
result = 0
# 逐位检查n中的数字是否为奇数,如果是则加入新数中
for digit in n_str:
if int(digit) % 2 != 0:
result = result * 10 + int(digit)
return result
```
使用示例:
```python
print(odd_digits(1234567)) # 输出1357
print(odd_digits(24680)) # 输出0
print(odd_digits(13579)) # 输出13579
```