Python3循环

Python中while语句的一般形式:

while 判断条件:

       语句

同样需要注意冒号和缩进,另外在Python中没有do…while循环

下面的实例计算1到100总和

##calc.py
n = 100

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

print("total from 1 to 100 : %d",sum)

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3.5 calc.py

total from 1 to 100 : %d 5050

while循环中使用else语句

在while…else在条件语句为false时执行els语句块

#while.py
count = 0
while count < 5:
    print(count," < 5")
    count = count + 1
else :
    print(count ," >= 5")

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3.5 while.py

0  < 5

1  < 5

2  < 5

3  < 5

4  < 5

5  >= 5

for循环:

Python for循环可以遍历任何序列的项目,如一个列表或一个字符串

for循环的 一般格式如下

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

实例:

break语句用于跳出当前循环体:

##break.py
sites = ["Baidu","Google","Runoob","Taobao"]
for site in sites:
    if site == "Runoob":
        print("cainiao!")
        break
    print("loop data " + site)
else:
    print("Having no loop data!")
print("loop end!")

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3.5 break.py

loop data Baidu

loop data Google

cainiao!

loop end!

range()函数

如果你需要遍历数字序列,可以使用内置的range()函数,它会生成数列,例如:

 

也可以使range以指定数字开始并指定不同的增量,(甚至可以是负数,有时这也叫步长)

 

  

负数:

 

也可以结合range()和len()函数以遍历一个序列的索引:

 

还可以使用range()函数来创建一个列表:

 

break和continue语句及循环中的else子句

break语句可以跳出for和while循环体,如果你从for或while循环终止,任何对应的循环else块将不执行:

#else.py
for letter in 'Runoob':
    if letter == 'b':
        break;
    print('the current letter : ',letter)

print("the next example")

var = 10
while var > 0:
    print('the current variable : ',var)
    var = var - 1
    if var == 5:
        break;
print("GOOF bye!")

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3 else.py

the current letter :  R

the current letter :  u

the current letter :  n

the current letter :  o

the current letter :  o

the next example

the current variable :  10

the current variable :  9

the current variable :  8

the current variable :  7

the current variable :  6

GOOF bye!

continue语句被用来Python跳出当前循环块的剩余语句,然后继续下一轮循环。

循环语句可以有else子句,它在穷尽列表(for循环)或条件变为false(以while循环)导致循环终止时被执行,但循环被break终止时不执行。

下列是查询质数的循环例子:

##prime.py
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," is prime")

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3 prime.py

2  is prime

3  is prime

4  ==  2 * 2

5  is prime

6  ==  2 * 3

7  is prime

8  ==  2 * 4

9  ==  3 * 3

pass语句

Python pass是空语句,是为了保持程序结构的完整性。

pass不做任何事情,一般用作占位语句:

#pass.py
for letter in 'Runoob':
    if letter == 'o':
        pass
        print('execute pass block')
    print('the current letter : ',letter)

print("Good bye!")

运行结果:

 robot@ubuntu:~/wangqinghe/python/20190826$ python3 pass.py

the current letter :  R

the current letter :  u

the current letter :  n

execute pass block

the current letter :  o

execute pass block

the current letter :  o

the current letter :  b

Good bye!

pass只是为了防止语法的错误

pass就是一条空语句,在代码段中或定义函数时,如果没有内容,或者就先不做任何处理,直接跳过,就可以先使用pass

十进制转换:

#translate.py
while True:
    number = input('please input a integer(enter Q exit ):')
    if number in ['q','Q']:
        break
    elif not number.isdigit():
        print("input error,please continue input : ")
        continue
    else:
        number = int(number)
        print("decimal --> hexadecimal: %d -> 0x%x"%(number,number))
        print("decimal --> octonary: %d -> 0x%o"%(number,number))
        print("decimal --> binary: %d -> "%number,bin(number))

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3 translate.py

please input a integer(enter Q exit ):9

decimal --> hexadecimal: 9 -> 0x9

decimal --> octonary: 9 -> 0x11

decimal --> binary: 9 ->  0b1001

please input a integer(enter Q exit ):18

decimal --> hexadecimal: 18 -> 0x12

decimal --> octonary: 18 -> 0x22

decimal --> binary: 18 ->  0b10010

please input a integer(enter Q exit ):q

猜你喜欢

转载自www.cnblogs.com/wanghao-boke/p/11414083.html
今日推荐