简体   繁体   English

Python 奇怪的结果

[英]Python strange results

I have the following piece of code with a pretty strange result.. at least not the one that I expect.我有以下一段代码,结果很奇怪..至少不是我期望的。 I would like to show me the counting of even numbers in range (1,10) only in one row for that range.我想向我展示仅在该范围的一行中计算范围 (1,10) 中的偶数。 Any ideeas?有什么想法吗? Thanks!谢谢!

The code :代码

count=0 
for number in range (1,10):
    if number % 2==0:
        count +=1
        print(number)
    print(f"I have {count} even number")

Results :结果

I have 0 even number
2
I have 1 even number
I have 1 even number
4
I have 2 even number
I have 2 even number
6
I have 3 even number
I have 3 even number
8
I have 4 even number
I have 4 even number

If you want the sentence to only be printed after the loop finishes, simply move the print statement out of the loop:如果您希望仅在循环完成后打印句子,只需将 print 语句移出循环:

count=0 
for number in range (1,10):
    if number % 2==0:
        count +=1
        print(number)
print(f"I have {count} even numbers")

Is this what you mean?你是这个意思吗?

count=0 
str = ''
for number in range (1,10):
    if number % 2==0:
        count +=1
        str += f" {number}"
print(f"I have {count} even numbers: {str}")

You want to make sure that your last print statement is not within your for loop.您要确保您的最后一个打印语句不在您的 for 循环中。

count=0
for number in range (1,10):
    if number % 2==0:
        count +=1
        print(number)
print(f"I have {count} even number")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM