|Python新手小白低级教程|第十六章:循环(3)插曲:IPO程序(输入判断分数输入制表程序)

文章目录

  • 前言
  • 一、IPO程序初识
    • 1.实例
    • 2.基础结构
    • 3.在输入提示光标前面添加提示语
  • 二、IPO程序与其他内容结合
    • 1.与if结合
    • 2.与列表结合
      • (1)思路
      • (2)编程
  • 练习
    • 1.1.1 连续输入,判断奇偶性
    • 1.1.2 输入两个数,输出最大值、最小值
    • 1.1.3 医院挂号
  • 总结

前言

上节课我们学习的while循环和break以及continue你们都学会了吗?都很简单吧~这节课,我们来讲一些小插曲,认识一下标题上的IPO程序。

一、IPO程序初识

1.实例

IPO,全写Input-Process-Output,翻译成汉语就是“输入-处理-输出”这个程序结构非常实用,以至于到了后期我们几乎没有不用他的时候。
打个比方,在你和你的兄弟姐妹们chatting on the Internet时,你会打字,这就是IPO里的I(input),输入;当你按下“发送”的那一刻,软件会进行IPO里的P(process),处理;当你看到你的话出现在聊天框时,就是IPO里的O(output),输出。
这么一说,大家明白了吗?
当然,IPO不止这一点作用。在学习基础结构之后,我们能让它发展成一个“万用结构”。等什么,一起来看看吧!

2.基础结构

这里我们只需要记住几个函数即可。
一个,是input()函数,加入此函数之后会在主程序增加输出内容。
下面我来展示一下一种代码。
在这里插入图片描述
大家猜猜程序会让我们干嘛?输入一个东西呗~~~~
大家看下面这段过程,体验一下我们运行程序后直到程序结束的总过程。

n = input()
print(n)
#程序开始
#程序:输入呀~
#我:输出一个东西 输入1
#程序:收到,给你打印出来 输出1
#程序运行结束

这一个简单的小场景大家看懂了吗?其实,input原理就是将用户输入的值存储到一个变量中,然后根据用户需要输出。
当然,大家在聊天时,聊天框里会跳出一行字:请输入:
这个东西怎么在input里加上呢?接下来,就是揭晓时间:

3.在输入提示光标前面添加提示语

这个操作的核心还是input函数,是在这个函数的括号中添加字符串而这个字符串就是提示语了。
我们还是以上面的代码为例,看看提示语添加的具体过程。
在这里插入图片描述
还是这段代码,input的括号里还只是光秃秃的,啥也木有。给里面加上一些提示符,看看会发生什么。
在这里插入图片描述
现在input的括号里多了一个“输入一个数:”的提示。在运行时,会怎么样大家也心知肚明。
在这里插入图片描述
这就是控制台的提示符,所以,大家理解它的添加方式了吗?

二、IPO程序与其他内容结合

1.与if结合

众所周知,if是用来判断的,当然,他对以变量形式呈现的input函数输入内容也不例外。我们在学习过程中是要活学活用的。那么,它具体能干嘛呢?我们来做以下题目:
考试中,90-100为A等级,76-89为B等级,60-75为C等级,0-59为D等级。制作以下程序:
输入一个数(条件为"Enter a number about the exam’s mark"),并判断等级输出
这个程序的核心内容已经写过了,关键是输入段处理。

num = 
if num <= 59:print('D')
elif num <= 75 and num >= 60:print('C')
elif num <= 89 and num >= 76:print('B')
else:print('A')

输入段怎么写?num = input("Enter a number about the exam's mark"))
想必大家都是这样写的,可是,BoBo仔告诉你们,这是错的!
因为,在输入时,程序把这个我们输入的数默认为了字符串型(str函数)。但是,字符串型是不具备比较能力的,所以,我们要把输入类型转化成整型
在这里插入图片描述
下面报错了,因为我们输入的是字符串,而我们要比的却是数字,所以程序报错。
换句话说,想要让程序恢复正常,只要将输入的东西改成数字类型就可以了
具体操作非常简单,加上int()就可以了

num = int(input("Enter the number about the exam's mark"))
if num <= 59:print('D')
elif num <= 75 and num >= 60:print('C')
elif num <= 89 and num >= 76:print('B')
else:print('A')

OK,大功告成。这就是输入分数程序。

2.与列表结合

这个操作非常有意思,简称“制表神器”。我们来看一下一个例子:
题目:连续输入四次,将输入的字符以列表的形式呈现出来。
这个程序结合了大量东西:IPO,循环,列表……但是,这么多东西,该怎么办?哈哈,别慌,我带大家慢慢捋。

(1)思路

因为连续输入,所以一定要用到循环。但是,循环和列表怎么结合呢?想必大家都想到了,那就是“输入一次,将字符添加到列表”。这样,我们顺水推舟,可以推出,我们要设一个空列表。我们取得操作是不断输入,不断增加。
这么一说,大家是不是有点眉目了?接下来,我们来编程

(2)编程

首先,我们要设两个东西:循环变量和空列表

i = 1
num = [ ]

接下来就是循环。
还记得重复执行4次怎么说吗?

i = 1
num = [ ]
while i <= 4:

接下来就麻烦了:重复输入4次怎么办?
我们不妨试试看。
现在while循环里添加下面2句话:

n = str(input('enter:')) 
i = i + 1

注意啦!程序要是字符串类型才能制表,所以我们要用str()把input的东西括起来。
我们试试看,会发现我们在加上这两句之后程序会让我们输入4次东西。这就成功了一半。
接下来的操作,大家也应该知道了:

num.append(n)

用这段代码,把我们输入的东西添加在列表的末尾,直至循环结束。
ok,循环部分到此结束。
接下来就是输出numprint(num)
看完整代码:

i = 1
num = [ ]
while i <= 4:n = str(input('enter:'))i = i + 1num.append(n)
print(num)

这就是完整程序了。

练习

接下来就是练习时间,不过这次的练习有点特殊:我采用一边讲一边练来复习一下我们今天所学的内容。

1.1.1 连续输入,判断奇偶性

这个程序可以参照我们上面讲的输入以制表程序。
大家可以试试看。
题目:连续输入,判断奇偶性(输入“0”时退出程序并输出‘偶数’)
大家可以仿照上面试试看。

while True:num = int(input('Enter a number:'))if num % 2 == 0:print('偶数')if num == 0:breakelif num % 2 == 1:print('奇数')

这里涉及了if语句嵌套:因为0是偶数且是特殊符号,所以我们要把他装进if里面,这个语句的核心是中间的循环语句。

1.1.2 输入两个数,输出最大值、最小值

这个非常简单,不用if函数,只要两个新函数就可以了。
这两个函数是啥?看看答案,认识一下。

num_1 = int(input('Enter a number:'))
num_2 = int(input('Enter a number:'))
print(max(num_1,num_2))
print(min(num_1,num_2))

max,中文意思“最大”。min,中文意思“最小”。两个变量之间的“,”用来隔开。这个符号非常牛掰,多个数也可以。

1.1.3 医院挂号

这个程序大家应该体验过。
下面我来介绍一下流程。
输入一个数n
………………
请您付款n元
你随便写一个数
找零“你付的钱-n”元
找零请当面点清,谢谢!
………………

money = int(input())
print('请您付款'+money+'元')
money_1 = int(input('付款中……'))
a = money_1 - money
print('找零'+ a + '元')
print('找零请当面点清,谢谢!')

你答对了吗?

总结

这节课我们学习了IPO程序,大家都掌握了吗?学会了它之后,我们的Python会更加有实用性,在后面学会for循环和函数之后,你们就会知道IPO的用处了。
ok,今天的内容就到这里,大家别忘了一圈三连,点个关注哦!