Python札记14_while语句

单词while翻译成中文就是当......的时候,常用作时间状语,while someone do something,表示当某个条件成立的时候做某事。

  • while 判断条件:
    • 执行语句

while循环语句
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))
image.png
  • 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)
image.png
count = 0
while count < 9:   # 循环次数
    print("This is {}".format(count))   # 格式化输出
    count += 1   # count自动加一,实现自动循环
print("Good bye")  # 当跳出循环体,执行本语句
image.png

习题:现有列表: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)
image.png

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)

写在最后:

刚好今天学习了冒泡排序算法,所以将这个列表分类的例题和冒泡算法排序相结合, 一点小成就,写出了这个代码,希望对感兴趣的小伙伴有帮助。加油!

你可能感兴趣的:(Python札记14_while语句)