count函数python(python猜数字游戏代码)
大家好,今天小编来为大家解答以下的问题,关于count函数python,python猜数字游戏代码这个很多人还不知道,现在让我们一起来看看吧!
python count()函数的功能和用法
python count()函数的功能和用法如下:
统计字符串
在python中可以使用“count()”函数统计字符串里某个字符出现的次数,该函数用于统计次数,其语法是“count(sub, start...
Python count()方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
count()函数
统计字符串里某个字符出现的次数。可以选择字符串索引的起始位置和结束位置。
语法:str.count("char", start,end)或 str.count("char")-> int返回整数
str——为要统计的字符(可以是单字符,也可以是多字符)。
star——为索引字符串的起始位置,默认参数为0。
end——为索引字符串的结束位置,默认参数为字符串长度即len(str)
python编写用pow()函数计算球的体积
使用键盘输入值并不是编辑表中值的唯一方式。在某些情况下,为了设置字段值,可能要对单条记录甚至是所有记录执行数学计算。您可以对所有记录或选中记录执行简单计算和高级计算。此外,还可以在属性表中的字段上计算面积、长度、周长和其他几何属性。以下各部分包括使用字段计算器的若干示例。使用 Python、SQL和 Arcade执行计算。
本主题着重于基于 Python的计算字段示例。要了解有关 Arcade表达式的详细信息,请参阅 ArcGIS Arcade指南。要了解有关 SQL表达式的详细信息,请参阅计算字段。
注:
Python强制将缩进作为语法的一部分。请使用两个或四个空格来定义每个逻辑级别。将语句块的开头和结尾对齐并且保持一致。
Python计算表达式字段将使用惊叹号(!!)括起。
命名变量时,请注意 Python区分大小写,因此 value不同于 Value。
输入语句后,如果想将其写入文件,请单击导出。导入按钮将提示您查找和选择一个现有的计算文件。
简单计算
仅通过一个短表达式就可以计算出多种计算结果。
简单字符串示例
一系列 Python字符串函数均支持使用字符串,包括 capitalize、rstrip和 replace。
将 CITY_NAME字段中字符串的首字母大写。
!CITY_NAME!.capitalize()
去掉 CITY_NAME字段中自字符串结尾起的所有空白区。
!CITY_NAME!.rstrip()
将 STATE_NAME字段中的“california”全部替换为“California”。
!STATE_NAME!.replace("california","California")
在 Python中,字符串字段中的字符可以通过索引和分割操作进行访问。索引操作将在索引位置提取字符,而分割操作则会提取一组字符。在下表中,假设!fieldname!是值为"abcde"的字符串字段。
示例
说明
结果
!fieldname![0]
第一个字符
"a"
!fieldname![-2]
倒数第二个字符
"d"
!fieldname![1:4]
第二、三和四个字符
"bcd"
Python也支持使用 format()方法的字符串格式。
将合并后的 FieldA和 FieldB以冒号分隔开。
"{}:{}".format(!FieldA!,!FieldB!)
常见 Python字符串操作
简单数学示例
Python提供了处理数字的工具。Python也支持一些数值和数学函数,包括 math、cmath、decimal、random、itertools、functools和 operator。
运算符
说明
示例
结果
x+ y
x加上 y
1.5+ 2.5
4.0
x- y
x减去 y
3.3- 2.2
1.1
x* y
x乘以 y
2.0* 2.2
4.4
x/ y
x除以 y
4.0/ 1.25
3.2
x// y
x除以 y(向下取整除法)
4.0// 1.25
3.0
x% y
x模 y
8% 3
2
-x
x的负数表达式
x= 5
-x
-5
+x
x不变
x= 5
+x
5
x** y
以 x为底,以 y为指数的幂
2** 3
8
乘
!Rank!* 2
根据给定的半径字段计算球体的体积。
4.0/ 3.0* math.pi*!Radius!** 3
旧版本:
在 ArcGIS Pro中,使用的是 Python 3,在 ArcGIS Desktop中,使用的 Python 2。Python 2使用的是整型数学计算,这就意味着两个整型值相除将始终生成整型值(3/ 2= 1)。在 Python 3中,两个整型值相除将生成浮点型值(3/ 2= 1.5)。
Python内置函数
Python包含多个可用的内置函数,包括 max、min、round和 sum。
Python内置函数
通过字段列表计算每条记录的最大值。
max([!field1!,!field2!,!field3!])
通过字段列表计算每条记录的总和。
sum([!field1!,!field2!,!field3!])使用代码块
通过 Python表达式和代码块参数可执行以下操作:
在表达式中应用任意 Python函数。
访问地理处理函数和对象。
访问要素几何的属性。
访问新的随机值运算符。
使用 if-then-else逻辑对值进行重分类。
表达式类型
代码块
Python 3
支持 Python功能。使用 Python函数(def)表示代码块。在适当的情况下,几何属性将通过地理处理对象表示(如点对象)。
Arcade
支持 Arcade功能。
SQL
支持 SQL表达式。
执行 SQL表达式可以更好地支持使用要素服务和企业级地理数据库的计算,尤其是在性能方面。使用该表达式可以将单次请求设置为要素服务或数据库,而不必一次执行一个要素或一行的计算。
旧版本:
在 ArcGIS Desktop中,计算字段工具支持 VB、PYTHON和 PYTHON_9.3表达式类型。VB表达式类型,在某些产品中受支持,但在 64位产品中不受支持,其中包括 ArcGIS Pro。
出于相后兼容性考量,ArcGIS Pro中仍然支持 PYTHON和 PYTHON_9.3关键字,但是不会作为选择列出。使用这些关键字的 Python脚本将可继续使用。
Python 3表达式类型与旧版 PYTHON_9.3关键字的唯一区别在于 Python 3会将日期字段中的值作为 Python datetime对象返回。
注:
Python 3表达式类型与随 ArcGIS Pro安装的 Python版本无关。这只是历史上的第三个 Python相关关键字(继 PYTHON和 PYTHON_9.3之后。
各 Python函数可通过 def关键字定义,关键字后为函数名称及函数的输入参数。可编写 Python函数,使 Python函数能够接受任何数量的输入参数(也可以没有任何参数)。函数将通过 return语句返回值。函数名称可由您自行选取(不得使用空格,也不得以数字开头)。
注:
如果函数未通过 return语句显式返回值,则函数将返回 None。
注:
请牢记,Python强制要求将缩进作为语法的一部分。请使用四个空格来定义每个逻辑级别。将语句块的开头和结尾对齐并且保持一致。
代码示例-数学
在使用以下数学示例时,请假设表达式类型为 Python 3。
将字段的值四舍五入为保留两位小数。
表达式:
round(!area!, 2)
通过 math模块将米转换成英尺。以转换值为底,以 2为指数进行幂运算,然后再乘以 area。
表达式:
MetersToFeet((float(!shape.area!)))
代码块:
import math
def MetersToFeet(area):
return math.pow(3.2808, 2)* area通过 Python逻辑计算字段
可以使用 if、else和 elif语句将逻辑模式包含在代码块中。
按照字段值进行分类。
表达式:
Reclass(!WELL_YIELD!)
代码块:
def Reclass(WellYield):
if(WellYield>= 0 and WellYield<= 10):
return 1
elif(WellYield> 10 and WellYield<= 20):
return 2
elif(WellYield> 20 and WellYield<= 30):
return 3
elif(WellYield> 30):
return 4代码实例-几何
除以下代码示例外,请参阅下方的“几何单位转换”部分,以了解有关转换几何单位的详细信息。
计算某要素的面积。
表达式:
!shape.area!
计算某要素的最大 x坐标。
表达式:
!shape.extent.XMax!
计算某要素中的折点数。
表达式:
MySub(!shape!)
代码块:
def MySub(feat):
partnum= 0
# Count the number of points in the current multipart feature
partcount= feat.partCount
pntcount= 0
# Enter while loop for each part in the feature(if a singlepart
# feature, this will occur only once)
while partnum< partcount:
part= feat.getPart(partnum)
pnt= part.next()
# Enter while loop for each vertex
while pnt:
pntcount+= 1
pnt= part.next()
# If pnt is null, either the part is finished or there
# is an interior ring
if not pnt:
pnt= part.next()
partnum+= 1
return pntcount
将点要素类中每个点的 x坐标平移 100。
表达式:
shiftXCoordinate(!SHAPE!)
代码块:
def shiftXCoordinate(shape):
shiftValue= 100
point= shape.getPart(0)
point.X+= shiftValue
return point几何单位转换
几何字段的面积和长度属性可通过用@符号表示的单位类型进行修改。
面积测量单位关键字:
ACRES| ARES| HECTARES| SQUARECENTIMETERS| SQUAREDECIMETERS| SQUAREINCHES| SQUAREFEET| SQUAREKILOMETERS| SQUAREMETERS| SQUAREMILES| SQUAREMILLIMETERS| SQUAREYARDS| SQUAREMAPUNITS| UNKNOWN
线性测量单位关键字:
CENTIMETERS| DECIMALDEGREES| DECIMETERS| FEET| INCHES| KILOMETERS| METERS| MILES| MILLIMETERS| NAUTICALMILES| POINTS| UNKNOWN| YARDS
注:
如果数据存储在地理坐标系中且具有线性单位(例如英尺),则会通过测地线算法转换长度计算的结果。
警告:
转换地理坐标系中数据的面积单位会生成不正确的结果,这是由于沿 globe的十进制度并不一致。
计算某要素的长度(以码为单位)。
表达式:
!shape.length@yards!
计算某要素的面积(以英亩为单位)。
表达式:
!shape.area@acres!
测地线面积和长度也可以通过带@(后跟测量单位关键字)的 geodesicArea和 geodesicLength属性进行计算。
计算某要素的测地线长度(以码为单位)。
表达式:
!shape.geodesicLength@yards!
计算某要素的测地线面积(以英亩为单位)。
表达式:
!shape.geodesicArea@acres!代码实例-日期
日期和时间可使用 datetime和 time模块进行计算。
计算当前日期。
表达式:
time.strftime("%d/%m/%Y")
计算当前日期和时间。
表达式:
datetime.datetime.now()
计算的日期为 2000年 12月 31日。
表达式:
datetime.datetime(2000, 12, 31)
计算当前日期和字段中的值之间的天数。
表达式:
(datetime.datetime.now()-!field1!).days
通过向字段中的日期值添加 100天来计算日期。
表达式:
!field1!+ datetime.timedelta(days=100)
计算字段中的日期值为一周中的周几(例如,星期天)。
表达式:
!field1!.strftime('%A')代码实例-字符串
可以使用多种 Python编码模式来完成字符串计算。
返回最右侧三个字符。
表达式:
!SUB_REGION![-3:]
将所有大写字母 P替换为小写字母 p。
表达式:
!STATE_NAME!.replace("P","p")
通过空格分隔符串连两个字段。
表达式:
!SUB_REGION!+""+!STATE_ABBR!转换为正确的大小写形式
下列各例显示的是转换单词的不同方法,这些方法可使每个单词的首字母变为大写、其余字母变为小写。
表达式:
''.join([i.capitalize() for i in!STATE_NAME!.split('')])表达式:
!STATE_NAME!.title()正则表达式
Python的 re模块提供了正则表达式匹配操作,可用于对字符串执行复杂的模式匹配和替换规则。
re-正则表达式运算正则表达式的用法
使用单词 Street替换 St或 St.,在字符串的末尾生成一个新单词。
表达式:
update_street(!ADDRESS!)
代码块:
import re
def update_street(street_name):
return re.sub(r"""\b(St|St.)\Z""",
'Street',
street_name)累加计算和顺序计算
可以使用全局变量来进行累加计算和顺序计算。
根据某间隔值计算顺序 ID或数字。
表达式:
autoIncrement()
代码块:
rec=0
def autoIncrement():
global rec
pStart= 1# adjust start value, if req'd
pInterval= 1# adjust interval value, if req'd
if(rec== 0):
rec= pStart
else:
rec= rec+ pInterval
return rec
计算数值型字段的累加值。
表达式:
accumulate(!FieldA!)
代码块:
total= 0
def accumulate(increment):
global total
if total:
total+= increment
else:
total= increment
return total
计算数值型字段的百分比增量。
表达式:
percentIncrease(float(!FieldA!))
代码块:
lastValue= 0
def percentIncrease(newValue):
global lastValue
if lastValue:
percentage=((newValue- lastValue)/ lastValue)* 100
else:
percentage= 0
lastValue= newValue
return percentage随机值
可以使用 random模块来计算随机值。
通过 numpy站点包来计算 0.0和 1.0之间的随机浮点值。
表达式:
getRandomValue()
代码块:
import numpy
def getRandomValue():
return numpy.random.random()
使用随机模块来计算 0与 10之间的随机整数。
表达式:
random.randint(0, 10)
代码块:
import random计算空值
在 Python表达式中,可通过 Python None来计算空值。
注:
仅当该字段为空时,才可以进行以下计算。
使用 Python None计算空值。
表达式:
None相关主题
有关字段计算的基础知识
授权转载:gisoracle
网课学习+权威结业证书
我们精心汇总了一些相对简单
培训考核通过便可获取的证书
自然资源部职鉴中心发证
可用于招投标、资质系统
等
测绘师继续教育20学时
中国测绘网新媒体中心
cehui8@qq.com
商务合作/微信 214979525
python 怎么做多条件的countif
使用条件集合{}和sum函数。即在countif()第二个参数中使用条件集合{},然后用sum()函数求满足这些条件的计数和。criteria:为确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式、单元格引用或文本。例如,条件可以表示为 32、"32"、">32"、"apples"或 B4。
COUNTIF(B2:C5,{">60",">90"})统计出大于60的人数6和大于90的人数1,即{6,1}。{6,1}与{1,-1}相乘得到{6,-1},两者相加即得到大于60、小于90之间的人数5人。
COUNTIF函数语法:COUNTIF(range,criteria)
range:是一个或多个要计数的单元格,其中包括数字或名称、数组或包含数字的引用。空值和文本值将被忽略。
向左转|向右转
关于count函数python,python猜数字游戏代码的介绍到此结束,希望对大家有所帮助。