鱼C论坛

 找回密码
 立即注册
查看: 3115|回复: 2

救急

[复制链接]
发表于 2023-5-30 20:13:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编程求和程序,要求根据输入的参数区间值a,b,计算两者之间的所有奇数之和。

=
import sys
a = 384   # 前区间
b = 509    # 后区间
​
sum = 0
if a <= b :
    while a <= b:     
        if a%2==0:  # 判断a是否为奇数
            sum=a  # 奇数相加
        a += 1
    print("数据[",a,",",b,"]之间奇数之和为",sum)        # 打印最后的奇数和
else :
    print("参数区间错误")   # 小在前大在后
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-30 20:15:17 | 显示全部楼层
你的代码基本正确,但是在判断是否为奇数以及在奇数时增加求和的部分存在一些小错误。在Python中,我们通常会用 a % 2 != 0 来判断一个数是否为奇数,而你的代码中写的是 a % 2 == 0 ,这实际上是判断一个数是否为偶数。另外,在求和部分,你应该将奇数加到 sum 上,而不是将奇数的值赋给 sum 。因此,你的代码应该修改如下:
a = 384   # 前区间
b = 509   # 后区间

sum = 0
if a <= b :
    while a <= b:     
        if a % 2 != 0:  # 判断a是否为奇数
            sum += a  # 奇数相加
        a += 1
    print("数据[",a,",",b,"]之间奇数之和为",sum)        # 打印最后的奇数和
else :
    print("参数区间错误")   # 小在前大在后

这段代码将计算从384到509(包括509)之间所有奇数的和,并打印出来。如果你想让用户输入a和b的值,你可以使用 input 函数来替换初始的硬编码值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-30 21:07:36 | 显示全部楼层
这段代码有一些小问题,以下是改进后的代码:
import sys

a = 384   # 前区间 
b = 509   # 后区间 

odd_sum = 0  # 初始化奇数和为0 

if a <= b:  # 判断参数是否合法 
    for i in range(a, b+1):  # 遍历a到b中的所有整数 
        if i % 2 != 0:  # 如果i是奇数 
            odd_sum += i  # 累加到奇数和中 

    print(f"数据 [{a}, {b}] 之间的奇数之和为 {odd_sum}")  # 打印结果 

else:  # 参数不合法 
    print("参数区间错误")
主要改动:

- 对变量进行更具有描述性的命名
- 使用 `for` 循环代替 `while` 循环
- 改为遍历从 `a` 到 `b+1` 中的所有整数
- 更直白地判断当前数字是否为奇数
- 使用 f-string 输出结果

有用请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 09:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表