whilefor循环的使用

  • 格式:pdf
  • 大小:63.03 KB
  • 文档页数:2

whilefor循环的使⽤

⼀、while 循环

1.while 循环的语句

while 条件:

语句体

语句体

使⽤while循环容易出现死循环,需要加⼊循环控制条件

times = 1

while times <=5:

print("times:",times)

#循环结束的控制语句

times +=1

print("程序结束")

例如:猜字游戏,假设答案是9 ,让⽤户从键盘中输⼊⼀个整数,使⽤while循环,提供多次机会给⽤户猜测。⽐如说,给⽤户三次机会

num = 9

times = 1

while times <= 3:

num1 = int(input("请输⼊⼀个整数: "))

if num1 == num:

print("您猜对了")

elif num1 < num:

print("您猜⼩了")

else:

print("您猜⼤了")

times = times + 1

2.break/continue

break 语句会跳出循环,并终⽌循环;continue 语句会跳出当层循环,并且开始下⼀次循环。

例如:输出1到10,如果是2的倍数,则不输出(continue⽤法)

times =1

while times <= 10:

if times % 2 ==0:

times +=1

continue

print(times)

times = times +1

例如:输出1到20,如果是5的倍数,则结束程序

times = 1

while times <=20:

if times % 5 ==0:

times +=1

bresk

print(times)

times +=1

print("程序结束")

练习:1.求100以内的奇数之和 99+97+95+93+.......+1

第⼀种:n = 0

sum = 0

while n <= 99:

n = n + 1

if n % 2 ==0:

continue

sum = sum + n

print(sum)

第⼆种:n = 99

sum = 0

while n > 0:

sum = sum + n

n = n-2

print(sum)

2.创建⼀个包含了100以内的奇数的列表list = []

n = 101

while n >= 2:

if n % 2 != 0:

n = n - 2

list.append(n)

print(list)

⼆、for 循环语句

for 变量 in 范围:

for 循环的循环体

----循环的次数,由指定的范围内的数量

1.遍历字符串

str = "hello,world!"

total = 0

for i in str:

print(i)

total = total + 1

print(total)

2.遍历列表

list = [1,2,3,"test",34,"python"]

for l in list:

print(l)

3.range() 函数 range(始起值,结束值,步长值) range(始起值,结束值) 取值范围:始起值,到(结束值-1)

for i in range(0,6):

print(i)

例如:请写出⼀段 python 代码实现删除⼀个list⾥⾯的重复元素

list = [2,3,4,2,4,3,5,11,23,13]

lst =[]

for i in list:

if i not in lst:

lst.append(i)

print(lst)

print(sorted(lst))

4.for循环的嵌套

for 变量 in 范围:

语句

for 变量 in 范围:

循环体

for i in range(1,10):

print("i-->:",i)

for j in range(1,i+1):

print("j-->:",j,end="\t")

print()

例如:使⽤for循环嵌套实现99乘法表

# 第1种

for i in range(1,10):

for j in range(1,i+1):

print("%d*%d=%2d"%(i,j,i*j),end = "\t")

print()

# 第2种

for i in range(1,10):

for j in range(1,i+1):

print(str(i) + "*" + str(j) + '=' + str(i*j),end="\t")

print()

5.冒泡排序

例如:定义⼀个列表,如 lst = [3,8,2,12,56,9],然后把列表中的数据由⾼到低排序,并输出。

lst = [3,8,2,12,56,9]

for i in range(0,len(lst)-1):

for j in range(0,len(lst)-1-i):

if lst[j] < lst[j+1]:

lst[j],lst[j+1] = lst[j+1],lst[j]

print(lst)