单词
while
翻译成中文就是当......的时候
,常用作时间状语,while someone do something
,表示当某个条件成立的时候做某事。
-
while
判断条件:- 执行语句
- 通过一个简单的猜数字游戏来认识
while
语句
import random
count = 0
number = random.randint(0, 101) # 产生一个随机数
while True: # 不限制猜的次数,True一直为真
number_input = input("请输入一个数字") # input函数输入都是字符串,需要进行转化成int类型
count += 1
if not number_input.isdigit(): # 判断输入的数是否是整数
print("请输入一个整数")
elif int(number_input) < 0 or int(number_input)> 100: # 保证范围在0-100
print("请输入0到100的数字")
else: # 分3中情况来比较输入的数字和随机数的大小关系
if int(number_input) == number:
print("恭喜您{}次猜对,数字正是{}".format(count, number_input))
elif int(number_input) > number:
print("您猜了{}次的数字{}过大,请再次输入".format(count, number_input))
else:
print("您猜了{}次的数字{}过小,请再次输入".format(count, number_input))
-
while
后面的条件为真,执行循环体中的内容 -
input
函数的输入内容都是字符串 - 需要判断输入的内容是否是整数
list1 = [2, 13, 68, 34, 27, 91, 28]
even = []
odd = [] # 定义两个空列表用来存在数据
while len(list1) > 0: # 将长度作为循环的次数
number = list1.pop() # pop 函数是删除末尾的元素,作为返回值给number
if number % 2 == 0: # 判断奇偶性
even.append(number) # append方法数追加到列表中
else:
odd.append(number)
print(even, odd)
count = 0
while count < 9: # 循环次数
print("This is {}".format(count)) # 格式化输出
count += 1 # count自动加一,实现自动循环
print("Good bye") # 当跳出循环体,执行本语句
习题:现有列表:list1=[2, 81, 98, 47, 23, 56, 24, 61, 34],将list1中的奇数和偶数分别放在两个不同的列表,并且实现从小到大的顺序摆放
- 奇数和偶数分开放:通过除以2的
余数
结果进行判断 - 从小到大排序,利用
冒泡算法
实现
for遍历实现
list1 = [2, 81, 98, 47, 23, 56, 24, 61, 34]
even = [] # 存放偶数
odd = [] # 存放奇数
for i in list1:
if i % 2 == 0:
even.append(i) # 先生成偶数列表,再利用冒泡法进行从小到大进行排序;下同
length = len(even)
for i in range(length):
for j in range(length-1-i):
if even[j] > even[j+1]:
even[j], even[j+1] = even[j+1], even[j]
else:
odd.append(i)
length = len(odd)
for i in range(length):
for j in range(length-1-i):
if odd[j] > odd[j+1]:
odd[j], odd[j+1] = odd[j+1], odd[j]
print(even, odd)
while实现
list1 = [2, 81, 98, 47, 23, 56, 24, 61, 34]
even = [] # 存放偶数
odd = [] # 存放奇数
while len(list1) > 0 :
i = list1.pop()
if i % 2 == 0:
even.append(i) # 先生成偶数列表,再利用冒泡法进行从小到大进行排序;下同
length = len(even)
for i in range(length):
for j in range(length-1-i):
if even[j] > even[j+1]:
even[j], even[j+1] = even[j+1], even[j]
else:
odd.append(i)
length = len(odd)
for i in range(length):
for j in range(length-1-i):
if odd[j] > odd[j+1]:
odd[j], odd[j+1] = odd[j+1], odd[j]
print(even, odd)
写在最后:
刚好今天学习了
冒泡排序算法
,所以将这个列表分类的例题和冒泡算法排序相结合, 一点小成就,写出了这个代码,希望对感兴趣的小伙伴有帮助。加油!