簡體   English   中英

為什么我的代碼不打印任何內容?(python)

[英]Why won't my code print anything?(python)

這些是我的指示:

使用while循環編寫一個程序,該程序打印從1到1001(包括1和1001在內)的每三個數字的總和

(1 + 4 + 7 + 10 + ....)

這是我的代碼:

    num = 0
    x = 1
    while x != 1001:
        num += x
        x += 3

    print(num)

有人可以指出我哪里出問題了嗎?

你算錯了預期值, x絕不可能1001 ,在號碼100110001003 ,所以while循環將會永存。

我認為您可以使用:

while x != 1000:

要么:

while x < 1001:

注意,就像@idjaw指出的那樣,在這里使用!=並不是一個很好的選擇。

您的while循環永遠不會獲得條件x != 1001評估為True 我檢查了x最后幾個值,這些是

994
997
1000
1003

如您所見, x的值永遠不會變為1001 因此,要在x超過1001時終止條件,您需要按以下方式修改條件。

 while x <= 1001:
    num += x
    x += 3        
 print(num)

x永遠不會取值1001。 在下一次迭代中它變成1000,然后是1003,因此循環將永遠繼續下去。 而x <= 1001:可用於解決此問題。

x永遠不會是1001所以它將永遠運行。 如果要確保將print語句放入循環中並打印x的值

num = 0
x = 1
while x != 1001:
    num += x
    x += 3
    print(x)

它將打印x的值。 超過1000給出ctrl+c

4
7
10
13
16
19
22
25
28
31
34
37
40
43
46
49
52
55
58
61
64
67
70
73
76
79
82
85
88
91
94
97
100
103
106
109
112
115
118
121
124
127
130
133
136
139
142
145
148
151
154
157
160
163
166
169
172
175
178
181
184
187
190
193
196
199
202
205
208
211
214
217
220
223
226
229
232
235
238
241
244
247
250
253
256
259
262
265
268
271
274
277
280
283
286
289
292
295
298
301
304
307
310
313
316
319
322
325
328
331
334
337
340
343
346
349
352
355
358
361
364
367
370
373
376
379
382
385
388
391
394
397
400
403
406
409
412
415
418
421
424
427
430
433
436
439
442
445
448
451
454
457
460
463
466
469
472
475
478
481
484
487
490
493
496
499
502
505
508
511
514
517
520
523
526
529
532
535
538
541
544
547
550
553
556
559
562
565
568
571
574
577
580
583
586
589
592
595
598
601
604
607
610
613
616
619
622
625
628
631
634
637
640
643
646
649
652
655
658
661
664
667
670
673
676
679
682
685
688
691
694
697
700
703
706
709
712
715
718
721
724
727
730
733
736
739
742
745
748
751
754
757
760
763
766
769
772
775
778
781
784
787
790
793
796
799
802
805
808
811
814
817
820
823
826
829
832
835
838
841
844
847
850
853
856
859
862
865
868
871
874
877
880
883
886
889
892
895
898
901
904
907
910
913
916
919
922
925
928
931
934
937
940
943
946
949
952
955
958
961
964
967
970
973
976
979
982
985
988
991
994
997
1000
1003
1006

如您所見,x永遠不會變成1001。這就是循環永遠運行的原因。 就像其他人說的那樣,將條件更改為x <= 1001 ,這將結束循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM