任务:检查一个整数是正数还是负数。 检查整数是否能被 2 整除。
当输入 0 时,我需要退出循环并报告每个计数和总和。 print 函数没有显示任何输出。
这是我从 def main() 开始使用的代码
def main():
count positive = 0
count negative = 0
count_divisible_by_2 = 0
sum positive = 0
sum negative = 0
sum_divisible_by_2 = 0
while True:
try:
number = integer(input("Enter a integer(or the number 0 to stop): "))
except `Value Error`:
print("Invalid integer. Please enter a valid number value. :")
print ("Enter the correct integer")
if number == 0:
break
if number > 0:
count positive += 1
sum positive += number
else number < 0:
count negative += 1
sum negative += number
if number % 2 == 0:`
count_divisible_by_2 += 1
sum_divisible_by_2 += number
print(f "Positive integers count: {count positive}, sum: {sum positive}")
print(f "Negative integers count: {count negative}, sum: {sum negative}")
print(f "Integers divisible by 2 count: {count_divisible_by_2}, sum: {sum_divisible_by_2}")``
预期的输出是正计数、负计数以及整数是否能被 2 整除。
以下是的代码中存在的一些问题及其修复方法:
-
变量名中的空格: 变量名不能包含空格。使用下划线 (
_
) 代替空格,例如count_positive
而不是count positive
。 -
else
语句后的条件:else
语句不需要条件。如果要检查数字是否小于 0,请使用elif number < 0:
。 -
缩进: Python 依靠缩进来确定代码块。
if
、else
和while
语句后的代码必须缩进。 -
反引号: 的代码中有一些不必要的反引号。请删除它们,尤其是在
except ValueError:
和if number % 2 == 0:
附近。 -
integer
函数: Python 中没有内置的integer
函数。使用int()
将输入转换为整数。
以下是更正后的代码:
def main():
count_positive = 0
count_negative = 0
count_divisible_by_2 = 0
sum_positive = 0
sum_negative = 0
sum_divisible_by_2 = 0
while True:
try:
number = int(input("Enter an integer (or the number 0 to stop): "))
except ValueError:
print("Invalid integer. Please enter a valid number value.")
print("Enter the correct integer")
continue
if number == 0:
break
if number > 0:
count_positive += 1
sum_positive += number
elif number < 0:
count_negative += 1
sum_negative += number
if number % 2 == 0:
count_divisible_by_2 += 1
sum_divisible_by_2 += number
print(f"Positive integers count: {count_positive}, sum: {sum_positive}")
print(f"Negative integers count: {count_negative}, sum: {sum_negative}")
print(f"Integers divisible by 2 count: {count_divisible_by_2}, sum: {sum_divisible_by_2}")
if __name__ == "__main__":
main()
这段代码应该可以正常运行,并生成预期的输出,显示正数、负数的计数以及可以被 2 整除的数字的计数和总和。
标签:python From: 78742356