Kenyataan gelung Python3


Bab ini akan memperkenalkan anda kepada penggunaan pernyataan gelung Python.

Pernyataan gelung dalam Python termasuk untuk dan sementara.

Rajah struktur kawalan pernyataan gelung Python adalah seperti berikut:

1028.png


gelung while

Bentuk umum pernyataan while dalam Python :

while 判断条件:
    语句

Juga perlu memberi perhatian kepada kolon dan lekukan. Juga, tiada do..while loop dalam Python.

Contoh berikut menggunakan sambil untuk mengira jumlah daripada 1 hingga 100:

#!/usr/bin/env python3

n = 100

sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1

print("1 到 %d 之和为: %d" % (n,sum))

Hasil pelaksanaan adalah seperti berikut:

1 到 100 之和为: 5050

Gelung tak terhingga

Kami boleh menetapkan syarat Ungkapan tidak pernah palsu untuk mencapai gelung tak terhingga Contoh adalah seperti berikut:

#!/usr/bin/python3

var = 1
while var == 1 :  # 表达式永远为 true
   num = int(input("输入一个数字  :"))
   print ("你输入的数字是: ", num)

print ("Good bye!")

Laksanakan skrip di atas dan hasil output adalah seperti berikut:

输入一个数字  :5
你输入的数字是:  5
输入一个数字  :

Anda boleh menggunakan <. 🎜> CTRL+C untuk keluar dari gelung tak terhingga semasa.

Gelung tak terhingga sangat berguna untuk permintaan masa nyata daripada pelanggan pada pelayan.

while loop menggunakan pernyataan else

dalam while...else untuk melaksanakan blok pernyataan else apabila pernyataan bersyarat palsu:

#!/usr/bin/python3

count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")

Laksanakan skrip di atas, hasil output adalah seperti berikut:

0  小于 5
1  小于 5
2  小于 5
3  小于 5
4  小于 5
5  大于或等于 5

Kumpulan pernyataan mudah

Serupa dengan sintaks pernyataan if, jika terdapat hanya satu pernyataan dalam badan gelung while anda, anda boleh menulis pernyataan dan semasa dalam baris yang sama, seperti berikut:

#!/usr/bin/python

flag = 1

while (flag): print ('欢迎访问php中文网!')

print ("Good bye!")

Nota: Anda boleh menggunakan CTRL+C untuk mengganggu gelung tak terhingga di atas.

Laksanakan skrip di atas, dan hasil output adalah seperti berikut:



untuk pernyataan

Gelung Python untuk boleh melintasi mana-mana jujukan item, seperti senarai atau rentetan.

Format umum gelung for adalah seperti berikut:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

Contoh gelung Python:

>>> languages = ["C", "C++", "Perl", "Python"] 
>>> for x in languages:
...     print (x)
... 
C
C++
Perl
Python
>>>

Pernyataan putus digunakan dalam contoh berikut dan pemecahan pernyataan digunakan untuk melompat keluar daripada badan gelung semasa:

#!/usr/bin/python3

sites = ["Baidu", "Google","php","Taobao"]
for site in sites:
    if site == "php":
        print("php中文网!")
        break
    print("循环数据 " + site)
else:
    print("没有循环数据!")
print("完成循环!")

Selepas melaksanakan skrip, badan gelung akan melompat keluar apabila menggelung ke "php":

循环数据 Baidu
循环数据 Google
php中文网!
完成循环!


julat() fungsi

Jika anda perlu melintasi urutan nombor, Anda boleh menggunakan fungsi julat() terbina dalam. Ia akan menghasilkan jujukan, contohnya:

>>> for i in range(5):
...     print(i)
...
0
1
2
3
4

Anda juga boleh menggunakan julat untuk menentukan nilai selang:

>>> for i in range(5,9) :
    print(i)

    
5
6
7
8
>>>

Anda juga boleh membuat julat bermula dengan nombor yang ditentukan dan menentukan kenaikan berbeza (walaupun nombor negatif , kadangkala ini juga dipanggil 'saiz langkah'):

>>> for i in range(0, 10, 3) :
    print(i)

    
0
3
6
9
>>>

Nombor negatif:

>>> for i in range(-10, -100, -30) :
    print(i)

    
-10
-40
-70
>>>

Anda boleh menggabungkan fungsi julat() dan len() untuk lelaran atas indeks jujukan, seperti berikut:

>>> a = ['Google', 'Baidu', 'php', 'Taobao', 'QQ']
>>> for i in range(len(a)):
...     print(i, a[i])
... 
0 Google
1 Baidu
2 php
3 Taobao
4 QQ
>>>

Anda juga boleh menggunakan fungsi julat() untuk mencipta senarai:

>>> list(range(5))
[0, 1, 2, 3, 4]
>>>


pecah dan teruskan pernyataan dan klausa lain dalam gelung.

Pernyataan putus boleh melompat keluar daripada gelung sementara dan. Jika anda menamatkan daripada gelung untuk atau sementara, mana-mana blok gelung lain yang sepadan tidak akan dilaksanakan. Contohnya adalah seperti berikut:

#!/usr/bin/python3

for letter in 'php':     # 第一个实例
   if letter == 'b':
      break
   print ('当前字母为 :', letter)
  
var = 10                    # 第二个实例
while var > 0:              
   print ('当期变量值为 :', var)
   var = var -1
   if var == 5:
      break

print ("Good bye!")

Hasil keluaran untuk melaksanakan skrip di atas ialah:

当前字母为 : R
当前字母为 : u
当前字母为 : n
当前字母为 : o
当前字母为 : o
当期变量值为 : 10
当期变量值为 : 9
当期变量值为 : 8
当期变量值为 : 7
当期变量值为 : 6
Good bye!

Pernyataan continue digunakan untuk memberitahu Python untuk melangkau pernyataan yang tinggal dalam blok gelung semasa dan kemudian teruskan dengan pusingan gelung seterusnya.

#!/usr/bin/python3

for letter in 'php':     # 第一个实例
   if letter == 'o':        # 字母为 o 时跳过输出
      continue
   print ('当前字母 :', letter)

var = 10                    # 第二个实例
while var > 0:              
   var = var -1
   if var == 5:             # 变量为 5 时跳过输出
      continue
   print ('当前变量值 :', var)
print ("Good bye!")

Hasil keluaran untuk melaksanakan skrip di atas ialah:

当前字母 : R
当前字母 : u
当前字母 : n
当前字母 : b
当前变量值 : 9
当前变量值 : 8
当前变量值 : 7
当前变量值 : 6
当前变量值 : 4
当前变量值 : 3
当前变量值 : 2
当前变量值 : 1
当前变量值 : 0
Good bye!

Pernyataan gelung boleh mempunyai klausa lain, yang menyebabkan gelung apabila meletihkan senarai (dalam gelung for) atau apabila keadaan menjadi palsu (dalam gelung sementara) Ia dilaksanakan apabila ditamatkan, tetapi tidak dilaksanakan apabila gelung ditamatkan dengan putus.

Contoh berikut ialah contoh gelung untuk menanyakan nombor perdana:

#!/usr/bin/python3

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, '等于', x, '*', n//x)
            break
    else:
        # 循环中没有找到元素
        print(n, ' 是质数')

Hasil output untuk melaksanakan skrip di atas ialah:

2  是质数
3  是质数
4 等于 2 * 2
5  是质数
6 等于 2 * 3
7  是质数
8 等于 2 * 4
9 等于 3 * 3

penyataan lulus

Pas Python ialah pernyataan kosong , untuk mengekalkan integriti struktur program.

pass tidak melakukan apa-apa dan biasanya digunakan sebagai pernyataan pemegang tempat Contoh berikut

>>> while True:
...     pass  # 等待键盘中断 (Ctrl+C)

Kelas terkecil:

>>> class MyEmptyClass:
...     pass

Contoh berikut melaksanakan blok pernyataan lulus apabila. hurufnya ialah o :

#!/usr/bin/python3

for letter in 'php': 
   if letter == 'o':
      pass
      print ('执行 pass 块')
   print ('当前字母 :', letter)

print ("Good bye!")

Hasil keluaran melaksanakan skrip di atas ialah:

当前字母 : R
当前字母 : u
当前字母 : n
执行 pass 块
当前字母 : o
执行 pass 块
当前字母 : o
当前字母 : b
Good bye!