一、循环和分支
1. 条件分支语句
if 条件:
代码块
else:
代码块
2. 循环语句之while
思考1:求1+2+3+....+10的值
sum = 0 num = 1 while num < 101: sum += num num += 1 print(sum)
for 循环
for 语句:
代码块
二、字符串操作
1.字符串的拼接
使用加号进行链接
#字符串的链接,通过“+”进行链接 s1 = ‘welcome‘ s2 = ‘to guangzhou‘ print(s1 + s2)
使用“,‘进行链接
s1 = ‘hello‘ s2 = ‘world‘ print(s1, s2) #使用“,”链接的时候,在“,”的位置会产生一个空格
使用%格式化链接
s1 = ‘hello‘ s2 = ‘world‘ print("%s %s"%(s1, s2))
使用join函数进行链接
s1 = [‘hello‘, ‘world‘] print("".join(s1))
注意:‘‘.join*()函数内部只需要传递一个参数。
2.重复输出字符串
#重复输出字符串,通过乘法的方式实现 s3 = ‘good‘ print(s3 * 3)
3.获取字符串中的字符
#通过索引的方式实现 #索引:给一个字符串中的字符从0开始编号,也成为下标 #索引的取值范围:[0,str.length-1] #访问方式: 变量名称[索引] str3 = ‘good‘ print(str3[0]) #索引值还可以从-1开始,-1代表倒数第一个字符 print(str3[-1])
4.截取字符串
#通过索引的方式实现 #索引:给一个字符串中的字符从0开始编号,也成为下标 #索引的取值范围:[0,str.length-1] #访问方式: 变量名称[索引] str3 = ‘good‘ print(str3[0]) #索引值还可以从-1开始,-1代表倒数第一个字符 print(str3[-1])
5.判断是否包含指定字符
#判断字符串中是否包含某指定字符串 str4 = "you are a good boy" print("good" in str4) #若包含有则返回True否则为False
6.格式化输出
#通过%来改变后面的字母或者是符号的含义,%被称为占位符 # %s:格式化字符串 # %d:格式化整数 # %f:格式化浮点数,可指定小数点后的精度 age = 18 name = "丽丽" weight = 45.5 print("my name is %s , I am %d year old and my weight is %.2f kg"%(name, age, weight)) #注意:%.nf表示精确到小数点后n位,会四舍五入
三、关于字符串常用函数
1.eval(str)
功能:将字符串str当成有效的表达式来求值并返回计算结果。可以把list,tuple,dict,set和string相互转化
>>>num1 = eval(‘123‘) >>>print(num1) 123 >>>num2 = eval("[1, 2, 3]") >>>print(num2) [1, 2, 3] >>> num3 = eval("12-3") >>> print(num3) 9
2.len(str)
功能:返回当前字符串的长度(字符的个数)
>>> len("you are good") 12
3.str.lower()
功能:返回一个把字符串中的大写字母转为小写字母的字符串
>>> str = "Hello World" >>> print(str.lower()) hello world
4.str.upper()
功能:返回一个把字符串中的小写字母转换为大写字母的字符串
>>> str = "Hello World" >>> print(str.upper()) HELLO WORLD
5.str.swapcase()
功能:返回一个把字符串中的大写字母转为小写字母,小写字母转为大写字母的字符串(字符串大小写反转)
>>> str = "Hello World" >>> print(str.swapcase()) hELLO wORLD
6.str.capitalize()
功能:返回一个首字母大写,其他小写的字符串
>>> str = "Hello World" >>> print(str.capitalize()) Hello world
7.str.title()
功能:返回一个每个单词首字母大写的字符串
>>> str = "Hello World" >>> print(str.title()) Hello World
8.str.center(width[,fillchar])
功能:返回一个指定宽度的居中字符串,fillchar为填充字符
>>> str = "Hello World" >>> print(str.center(50,"*")) *******************Hello World********************
9.str.ljust(width[,fillchar])
功能:返回一个指定宽度的左对齐字符串,fillchar为填充字符。默认使用空格填充
>>> str = "Hello World" >>> print(str.ljust(50,"*")) Hello World***************************************
10.str.rjust(width[,fillchar])
功能:返回一个指定宽度的左对齐字符串,fillchar为填充字符。默认使用空格填充
>>> str = "Hello World" >>> print(str.rjust(50,"*")) ***************************************Hello World
11.str.zfill(width)
功能:返回一个长度为width字符串,原字符串右对齐,前面补0
>>> str = "Hello World" >>> print(str.zfill(50)) 000000000000000000000000000000000000000Hello World
12.str.count(str[ ,strat][,end])
功能:返回字符串中str出现的次数,可以指定一个范围,若不指定,则默认从头到尾,匹配的时候是区分大小写的
>>> str = "Hello World" >>> print(str.count("hello", 0 , 10)) 0
13.str.find(str1[,start],[,end])
功能:从左右右检测str1字符串是否包含字符串中,可以指定范围,默认从头到尾。
返回的是第一次出现的下标,若未查询到,则返回-1
>>> str = "Hello World" >>> str1 = "llo" >>> print(str.find(str1, 0 , 10)) 2
14.str.rfind(str1[,start][,end])
功能:类似于str.find(),不过是从右边开始查找
>>> str = "Hello World" >>> str1 = "llo" >>> print(str.rfind(str1, 0 , 10)) 2
15.str.index(str1[strat=0],[end = len(str)])
功能类似于find(),与find()不同的是,如果str1不存在的时候会报一个异常
>>> str2 = "Hello World" >>> str1 = "hello" >>> print(str2.index(str1, 0 , 10)) ValueError: substring not found
16.str.lstrip()
功能:截掉字符串左侧指定的字符串,默认删除空白符(包括‘\n‘,‘\r‘,‘\t‘,‘ ‘)
>>> str = ‘**** you are very good‘ >>> print(str.lstrip()) >>> print(str.lstrip()) **** you are very good >>> print(str.lstrip("*")) you are very good
17,str.rstrip()
功能:截掉字符串右侧指定的字符串,则默认删除空白符(包括‘\n‘,‘\r‘,‘\t‘,‘ ‘)
>>> str = ‘**** you are good****‘ >>> print(str.rstrip()) **** you are good**** >>> print(str.rstrip("*")) **** you are good
18.str.strip()
功能:截掉字符串左右两侧指定的字符串,则默认删除空白符(包括‘\n‘,‘\r‘,‘\t‘,‘ ‘)
>>> str1 = " hello world " >>> str1.strip() ‘hello world‘
19.string.split(str = ‘‘,num=string.count(str))
功能:以str为分割符切片string,如果num有指定值,则仅分割num个子字符串
str--分割符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。num--分割次数
>>> str1 = "hello you are good" >>> str1.split() [‘hello‘, ‘you‘, ‘are‘, ‘good‘] >>> str1.split(" ",2) [‘hello‘, ‘you‘, ‘are good ‘]
练习:
1.计算1~100以内所有能被3或者17整除的数的和 2.计算100-999的水仙花数的个数。 3.计算200~500以内能被7整除但不是偶数的数的个数。 4.押宝游戏: 开始游戏 -> 投入赌金【一次性投入】 -> 循环 :押宝【5块钱一次】 -> 开奖 --》中奖/未中奖 --》用户输入是否继续 【当余额为0则自动退出游戏】 5.百钱买百鸡,现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:公鸡,母鸡,小鸡都要有,买100只鸡,把100文钱花完,买的鸡是整数。多少只公鸡,多少只母鸡多少只小鸡?
原文地址:https://www.cnblogs.com/baizhou1230/p/9135663.html