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)

写在最后:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • title: 英语字典date: 2018-08-09 14:47:40tags: [english,basic]...
    我要写小说阅读 2,723评论 0 0
  • 18中考英语易错知识点专练:连词(含答案和解析) 2017-09-04 提成绩,☞ 初中英语 感谢您关注初中英语公...
    小绿植物阅读 1,314评论 0 1
  • 上一章 (五)无心插柳 言默默觉得她之前的高中生活算是白过了。 她记忆中的学校、班级和同学,都跟她现在看到的不一样...
    夏沐春吟阅读 196评论 0 1
  • 时间:2016年10月19日 内容: 1. 早起打卡:7:00 2. 健身:完成马甲线练习一次 3.工作:全体中小...
    river王阅读 164评论 5 0
  • 曾经的我是一个特别倔的人,随意而为,什么都顺其自然,从没有主动和别人拉近关系。在单位我这样认为,反正我也不招惹谁,...
    Tianjiejie阅读 250评论 2 0