函数的return 语句只能输出一个值,可以是任何类型。 因此,可以“返回一个 tuple类型,来间接达到输出多个值 ”。 例: x 除以 y 的余数与商的函数 def F1 ( x, y ): a = x % y b = (x-a) / y return ( a,b ) # 也可以写作 return a, b (c, d )= F.
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站设计、宜章网络推广、微信小程序开发、宜章网络营销、宜章企业策划、宜章品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供宜章建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
pass=\'3\'
#同时输出多个变量和字符串
print(“pass:”,pass,)
1.在python中要输出内容时,可以使用输出语句print。print() 函数的详细语法格式如下:
princ(value,...,sep=\'\',end=\'\\n\',file=sys.stdout,flush=false))
2.从上面的语法格式可以看出value 参数可以接受任意多个变量或值,因此 print() 函数完全可以输出多个值,例如如下代码:
user_name=\'Charlie\'
user_age=8
#同时输出多个变量和字符串
print(“读者名:”,user_name,“年龄:”,user_age)
3.运行上面代码,可以看到输出结果,如下所示:
读者名:Charlie,年龄:8
4.从输出结果来看,使用 print() 函数输出多个变量时,print() 函数默认以空格隔开多个变量,如果读者希望改变默认的分隔符,可通过 sep 参数进行设置。
概述
定义一个变量,用于记录次数,然后这个次数没输出一个数自己加1,然后处理这个数,取整数,并且再次归零。
代码详解
使用循环输出列表,利用 计数器控制输出数量,当输出到第十个,计数器归零,重新开始计数
print输出增加end参数可以控制输出后以什么结尾
这里使用range方法快速生成10-90的数字添加进list列表
results = list(range(10, 90))
n = 10 # 每10个数换一行
for i in range(len(results)):
print(results[i], end=' ')
if (i+1) % 10 == 0:
print("\n") # \n为转义符 换行的意思
#out:
拓展内容
python list列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
Python列表函数方法
1 cmp(list1, list2) 比较两个列表的元素
2 len(list) 列表元素个数
3 max(list) 返回列表元素最大值
4 min(list) 返回列表元素最小值
5 list(seq) 将元组转换为列表
首先来说下for循环,for循环是python语言的循环控制语句,for循环可以遍历任何序列的项目,包括序列集合或可迭代对象,如列表、字符串、元组、字典等。
看下基本语法:
for 变量 in 序列: #变量为任意值,序列为列表、元组、字符串等
子代码模块
复制
比如我们想从一个列表中打印出来每个值,就可以用到for循环:
for i in (1,2,3,"test"): #遍历列表里的所有值,并把值赋值给变量 i
print(i) #输出结果为:1 2 3 test
#每次只输出一个,因为for循环是遍历列表里的所有值,每遍历一次就输出一个值,然后遍历第二次,当遍历第二次时,变量i的值也会发生变化
复制
第一次循环:从列表中读取到 1 ,把1值赋值给变量 i ,然后进入到子代码中,此时 i 的值为 1,打印出 1 ,然后结束本次for循环,判断列表中还有其他值,开始第二次循环
第二次循环:从列表中读取到 2 ,把2值赋值给变量 i ,然后进入到子代码中,此时 i 的值变成了 2,打印出2,然后结束本次for循环,判断列表中还有其他值,开始第三次循环
第三次循环:从列表中读取到 3 ,把3值赋值给变量 i ,然后进入到子代码中,此时 i 的值变成了 3,打印出3,然后结束本次for循环,判断列表中还有其他值,开始第四次循环
第四次循环:从列表中读取到 test ,把test值赋值给变量 i ,然后进入到子代码中,此时 i 的值变成了 "test",打印出 "test",判断列表中没有值了,结束本次遍历
最后输出的值为:1
2
3
test
如果我们把print(i)加到for循环外,此时打印的结果是什么呢?
for i in (1,2,3,"test"): #遍历列表里的所有值,并把值赋值给变量 i
print(i) #打印每次循环的值
print(i) #因为最后一次遍历的值为“test”,所以最后输出的值为 test
复制
最后按个print(i)输出的值为:test
输出的值为:1
2
3
test #上面是for循环每次遍历得到的结果
test #这个是for循环外,打印i得到的结果
如果我们遍历一个字符串是什么样子呢?
for i in ("Atom"): #遍历字符串里的所有值,并把值赋值给变量 i
print(i) #打印的结果为:A
t
o
m
复制
打印出的结果为:A
t
o
m
遍历一个字符串,会把字符串的每个字符都遍历出来
第一次循环:从字符串中读取到 A ,把A值赋值给变量 i ,然后进入到子代码中,此时 i 值为 A,印出 A ,然后结束本次for循环,判断字符串中还有其他值,开始第二次循环
第二次循环:从字符串中读取到 t ,把t值赋值给变量 i ,然后进入到子代码中,此时 i 的值变成了 t,打印出t,然后结束本次for循环,判断字符串中还有其他值,开始第三次循环
第三次循环:从字符串中读取到 o ,把o值赋值给变量 i ,然后进入到子代码中,此时 i 的值变成了 o,打印出o,然后结束本次for循环,判断字符串中还有其他值,开始第四次循环
第四次循环:从字符串中读取到 m ,把m值赋值给变量 i ,然后进入到子代码中,此时 i 的值变成了 m,打印出 m,判断字符串中没有值了,结束本次遍历
现在我们用下range()函数
先说下rang()函数,rang()函数可以创建一个整数列表
range(3)就表示创建一个整数列表(0,1,2) range(5)表示创建一个整数列表(0,1,2,3,4)
for i in range(3): #创建一个整数列表(0,1,2),然后遍历列表里的所有值,并把值赋值给变量 i
print(i) #打印结果为:0
1
2
复制
打印结果为:0
1
2
最后来个for循环和if判断相结合的一个例子:
有一个列表(0,1,2,3),我们想取出列表中小于2的数字,应该怎么办?
这时候就可以先用for循环取出,列表里的每个值,然后再用if判断是否小于2,如果满足就打印出来,如果不满足结束本次循环,再去取第二个值:
for i in range(4): #创建一个列表(0,1,2,3),然后遍历列表中的每个值,赋值给i
if i 2: #得到列表中的每个值后,去进行判断,如果满足i 2,就打印出i的值
print(i) #输出的结果为:0 1
复制
第一次循环:从列表中读取到 0 ,把0赋值给变量 i ,然后进入for循环的子代码中,此时 i 的值为 0,然后去进行if判断,i 2成立,进入到if子代码中,打印出i的值为0 ,结束本次if循环,然后结束本次for循环,判断列表中还有其他值,开始第二次for循环
第二次循环:从列表中读取到 1 ,把1赋值给变量 i ,然后进入for循环的子代码中,此时 i 的值为 1,然后去进行if判断,i 2成立,进入到if子代码中,打印出i的值为1 ,结束本次if循环,然后结束本次for循环,判断列表中还有其他值,开始第三次for循环
第三次循环:从列表中读取到 2 ,把2赋值给变量 i ,然后进入for循环的子代码中,此时 i 的值为 2,然后去进行if判断,i 2不成立,不进入if子代码中,结束本次if循环,然后结束本次for循环,判断列表中还有其他值,开始第四次for循环
第四次循环:从列表中读取到 3 ,把3赋值给变量 i ,然后进入for循环的子代码中,此时 i 的值为 3,然后去进行if判断,i 2成立,不进入if子代码中,结束本次if循环,然后结束本次for循环,判断列表中没有其他值了,结束本次遍历
总结下for循环就是,去一个个取出序列中的所有值,然后用每个值去进行for循环子代码下的运算,当结束for循环下子代码的运算后,再去判断序列中还有没有其他值,如果存在,再去把值取出,去进行for循环下子代码的运算,直到序列中的所有值,都进行过for循环子代码的运算,然后结束for循环
假设你的上述数据是一个字符串,以下是我的处理方法:
s = """compound=1
energy=123
Enthalpy=123
compound=2
energy=321
Enthalpy=321"""
need_lists = [sub for sub in s.split("\n") if "energy" in sub]
print(need_lists)
最主要是这个列表推导式:
s.split("\n")是将字符串用\n进行分隔为列表
for sub in s.split("\n")循环每一个元素
if "energy" in sub判断每个元素中是否包含有energy字符
need_lists = [sub for sub in s.split("\n") if "energy" in sub]只接收元素中有energy字符的元素,并将其组成新的列表给need_lists变量
print() 方法用于打印输出,是python中最常见的一个函数。
该函数的语法如下:
参数的具体含义如下:
objects --表示输出的对象。输出多个对象时,需要用 , (逗号)分隔。
sep -- 用来间隔多个对象。
end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符。
file -- 要写入的文件对象。
无论什么类型的数据,包括但不局限于:数值型,布尔型,列表变量,字典变量...都可以直接输出。
在C语言中,我们可以使用printf("%-.4f",a)之类的形式,实现数据的的格式化输出。
在python中,我们同样可以实现数据的格式化输出。我们可以先看一个简单的例子:
和C语言的区别在于,Python中格式控制符和转换说明符用%分隔,C语言中用逗号。
接下来我们仔细探讨一下格式化输出
(1).%字符:标记转换说明符的开始。
%字符的用法可参考上例,不再赘述。
最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*(星号),则宽度会从值元组中读出。
点(.)后跟精度值:如果需要输出实数,精度值表示出现在小数点后的位数。如果需要输出字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将从元组中读出。
可参考C语言的实现方式。
注:字段宽度中,小数点也占一位。
转换标志:-表示左对齐;+表示在数值前要加上正负号;" "(空白字符)表示正数之前保留空格();0表示转换值若位数不够则用0填充。
具体的我们可以看一下例子:
格式字符 说明 格式字符 说明
%s 字符串采用str()的显示 %x 十六进制整数
%r 字符串(repr())的显示 %e 指数(基底写e)
%c 单个字符 %E 指数(基底写E)
%b 二进制整数 %f,%F 浮点数
%d 十进制整数 %g 指数(e)或浮点数(根据显示长度)
%i 十进制整数 %G 指数(E)或浮点数(根据显示长度)
%o 八进制整数 %% 字符%
在python中,输出函数总是默认换行,比如说:
而显然,这种输出太占“空间”,我们可以进行如下改造:
参考文本第一部分对end参数的描述:end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符。