使用while语句时,应该如何写循环体才能出现课本例题上的输出,为什么我的只输出一行就结束了呢?是循环体中输出有误吗?
data = input("请输入一组药品的名称、数量、售价:")
totalNum = lackNum = priceNum = 0
while data:
content_list = data.split()
totalNum += int(content_list[1])
priceNum += float(content_list[-1])
if int(content_list[1]) < 20:
lackNum += 1
data = input("请输入一组药品的名称、数量、售价:")
print('药品平均售价是{:.2f},库存不足20的药品有{}种'.format(priceNum / totalNum, lackNum))
执行结果:
有帮助的话,请点采纳该答案~
通过下面示例理解while循环的基本应用。
①发起了while循环语句,“a<3”为True,则执行下面的语句块。如果执行了if语句下面的语句块,则会遇到②的break,它的功能是中断循环,并跳出循环体。
③是将前面设置的变量实现自增,允许用户“出错三次”,之后a=3,则①中的条件不再满足,即中止while循环。
练习15:猜数游戏。功能要求:(1)随机生成一个100以内的正整数。(2)用户通过键盘输入数字,猜测生成的随机数。注意,用户的输入次数不进行限制。④用于生成一个100以内的随机整数。用户输入所猜测的数字后,要对用户的输入内容进行判断(用户的任何输入都是不可靠的),虽然下面的判断还比较简洁。
⑤判断输入是否为整数组成的字符串。
⑥判断输入的整数,是否是1~100的整数。
⑦以下的语句块是判断输入的数字和④所得到的数字的关系。如果相等,则意味着猜中,中止循环(break);否则提示是偏大还是偏小,并且允许用户再输入。
在某种条件下使用了break实现跳出循环的目的。此外,还有一个类似这样由一个关键词组成的语句continue,从当前位置(continue所在的位置)跳到循环体的最后一行的后面(不执行最后一行)。对一个循环体来讲,如果还是符合循环条件的,最后一行的后面是哪里呢?当然是开始了,如果不符合循环条件,就是跳出当前循环体了。
上述程序中,在while循环语句块内,当满足了a%5 == 0条件后,执行⑧,然后转到while循环的开始,不再继续向下执行⑨。