一J一
编程实现:任意输入一个正整数,输出这个正整数之内的所有
奇数的和以及所有偶数的和。
要求:考虑数据输入的正确性,可用异常处理
这个刚写过?
def sum_odd_even(n):
if not isinstance(n, int) or n <= 0:
raise ValueError('输入必须是正整数')
odd_sum = 0
even_sum = 0
for i in range(1, n+1):
if i % 2 == 0:
even_sum += i
else:
odd_sum += i
return odd_sum, even_sum
try:
n = int(input('请输入一个正整数:'))
odd_sum, even_sum = sum_odd_even(n)
print(f'{n} 之内所有奇数的和为:{odd_sum}')
print(f'{n} 之内所有偶数的和为:{even_sum}')
except ValueError as e:
print(e)
try:
n = int(input("请输入一个正整数:"))
if n < 1:
raise ValueError("输入必须为正整数")
odd_sum = 0
even_sum = 0
for i in range(1, n + 1):
if i % 2 == 0:
even_sum += i
else:
odd_sum += i
print("所有奇数的和为:", odd_sum)
print("所有偶数的和为:", even_sum)
except ValueError as e:
print("输入错误:", e)
不知道你这个问题是否已经解决, 如果还没有解决的话:def demo(n):
def IsPrime(p):
if p == 2:
return True
if p%2 == 0:
return False
for i in range(3, int(p**0.5)+1, 2):
if p%i==0:
return False
return True
if isinstance(n, int) and n>0 and n%2==0:
for i in range(2, n//2+1):
if IsPrime(i) and IsPrime(n-i):
print(i, '+', n-i, '=', n)