Python3:分支语句以及其拓展,以及字符串的相关内容

分支语句以及其拓展:

if  条件表达式:

    满足表达式执行的内容

else:

    不满足表达式所执行的内容

三目运算符在python中的转换练习:

三目运算符:print a>b?a:b

注意:?:在python中不能使用

a=5

b=7

print(a if a>b else b)

当其有多个条件表达式时,可以按照下面格式来写:

if xxxx:

     pass

elif xxxx:

     pass

elif xxxx:

     pass

else:

     pass

 
#求平均成绩,并且打印出:姓名的等级为"ABCD"

stuname=input("姓名:")

chinese=float(input("语文成绩:"))

math=float(input("数学成绩:"))

english=float(input("英语成绩:"))

avgscore=float((chinese+math+english)/3)

if 90<avgscore<=100:

  print("%s的等级为%s"%(stuname,'A'))

elif 80<avgscore<=90:

  print("%s的等级为%s"%(stuname,'B'))

elif 70<avgscore<=80:

  print("%s的等级为%s"%(stuname,'C'))

elif 0<avgscore<=70:

  print("%s的等级为%s"%(stuname,'D'))

else:

  print("%s的成绩是无效的"%(stuname))

循环语句:主要分为while循环和for循环

在循环语句中:跳出循环有两种方法:

*break:跳出整个循环

*continue:跳出当前循环,继续执行

while循环实例:

import getpass
trycount=0
while trycount<3:
    username = input("用户名:")
    # passwd = input("密码")      #可见密码
    passwd =getpass.getpass("密码")    #不可见密码
    if username=="xijiao" and passwd=="redhat":
        print("login ok")
        continue
    else:
        trycount += 1
    if trycount>=3:
        print("尝试次数超过3次")
continue实例:
 trycount = 0
while trycount <10:
    trycount +=1
    if trycount==2:
        continue
    print(trycount)

if 和 while 后面必须跟布尔类型。如果不是布尔类型,必须将其转换为bool类型:
例如:print(bool("hello))             会打印出True
    print(bool(""))                  会打印出false
import  random         #系统随机生成一个数字
sysnum = random.randint(1,100)
guesscount=0
while guesscount<5:
    guessnum=int(input("猜测数字:"))
    guesscount+=1
    if guessnum>sysnum:
        print ("太大了")
    elif guessnum<sysnum:
        print ("太小了")
    else:
        print ("恭喜中奖")
        break
else:
    print ("尝试次数超过5次")
for i in range(5):
    print (i)
else:
    print ("结束执行")
range(end): 0~end-1
range(start, end): start~end-1
range(start, end, step): start~end-1, 步长为step
range(1,10,2)  # 1, 1+2, 1+2+2,
num1=int(input("数字1:"))
num2=int(input("数字2:"))
minnum=min(num1,num2)
for i in range(1,minnum+1):
    if num1%i ==0 and num2%i==0:
        res=i
        lcm=int((num1*num2)/res)
print("%s和%s的最大公约数为:%s"%(num1,num2,res))
print("%s和%s的最小公倍数为:%s"%(num1,num2,lcm))
求1-1000之间所有数的和
num_sum =0
for i in range(1,1001):
    num_sum+=i
print(num_sum)
变量名的命名规则
变量名可以由字母,数字或者下划线组成;只能以字母和下划线开头;它不能是python的关键字,比如:if,elif,while...
字符串的索引:注意:索引值是从0开始的
s="hello"
print(s[0])
print(s[3])
print(s[-1])
字符串的切片:切片规则为s[start:end:step],意思就是:从start开始到end-1结束,步长为step
step为正数时,从左往右计算,若为负数,则从右往左计算,例如:
s="hello"
print (s[0:4:2])  #打印出hl
print (s[1:5:2])  #打印出el
print (s[0:5:-1]) #?为何打印不出来
print (s[::-1])   #打印出olleh,所以[::-1]表示字符串的倒序输出
#字符串的重复
s="hello"
print(s*5)        #打印出hellohellohellohellohello,即表示输出字符串*5
#字符串的连接
print("我是习姣,"+"我喜欢蓝色")  #打印出我是习姣,我喜欢蓝色,表示n个字符串是可以连接起来的
成员操作符 s="lance",in,not in
s="lance"
print ('nc'in s)      #True
print ('aa'not in s)  #True
print ('e' in s)      #True
回文数的判断
num=input('nume:')      #?为什么num不用将其定义为int      num=int(input('nume:')为什么是错误的?
print(num==num[::-1])
num=int(input('numb:'))
if num<0 or (num!=0 and num%10==0):
    print(False)
elif num==0 and 0<num<10:
    print(True)
else:
    back = 0
    while num>back:
        back=back*10+num%10
        num//=10
    print (num == back or num==back//10)
字符串的开头与结尾匹配
s="hello xiaomi"
print (s.endswith(('xiaomi')))      #?为何在'xiaomi'添加两个括号呢?
print (s.startswith(('h')))         #?为何在'h'添加两个括号呢?只添加一个括号运行结果是一样的
#字符串的判断
print ("1237".isdigit())            #判断其是否为数字
print ("124jiao".isdigit())
print ("Hello".isupper())           #判断其是否为大写
print ("HELLO".isupper())
print ("Hello".istitle())           #判断其是否为标题,第一个字母大写,其他为小写时为标题
print ("hello".islower())           #判断其是否为小写
print ("105".isnumeric())           #判断其是否可以转换为数字
print ("qq618".isalnum())           #判断其是否有字母和数字
判断变量名是否合法
var="hello1"
if var[0]=="_"or var[0].isalpha():
    for char in var[1:]:
        if char.isalnum() or char =="_":
            continue
        else:
            print ('变量名%s不合法'%(var))
            break
    else:
        print ('变量名%s合法'%(var))
else:
    print ("变量名不合法:第一个字符错误!")
字符串的搜索和替换
s = "I love china very much"
print (s.find("love"))      #找到子串,并返回最小的索引值,其中空格也占据字符位置,输出值为2
print (s.find("e"))         #输出值为5
print (s.rfind("ch"))       #找到子串,并返回到最大的索引值,输出值为20
print (s.replace("very much","too")) #将字符串中的very much替换为too,输出为I love china too
#删除字符串中不需要的子符(主要应用于读取以及清洗数据中)
#主要有strip,lstrip,rstrip,replace等几种方法
# s = "\t \n        hello  xijiao      \n  good lucky       "
print(s.strip())       #strip:删除字符串左边和右边的空格(广义的空格,包括\t,\n)
print (s.lstrip())     #lstrip:删除字符串左边的空格
print (s.rstrip())     #rstrip:删除字符串右边的空格
print (s.replace(" ","")) #删除中间的空格,通过replace间接实现
#字符串的对齐
#主要有ljust,rjust,center,format几种方式
print("我是中国人".center(20))
print ("我是中国人".center(20,"*"))
print ("我是中国人".ljust(20,"*"))
print ("我是中国人".rjust(20,"*"))
print ("hello %s"%('world'))
print ("{0} {1} {1} {1}".format(1,2))
# #字符串的统计     用count来表达
print ("hello".count('l'))
print ("hello11".count('11'))
#字符串统计的练习:根据出勤记录判断是否被奖赏
s=input()
if s.count('A')<=1 and s.count("LLl")==0:
    print("被奖赏")
else:
    print ("不被奖赏")
#字符串的分离与连接
s="202.200.112.210"
s1=s.split(".")    #split对于字符串进行分离,分隔符为"."
print (s1[::-1])    #倒叙显示
print (s1)
date ='2018-4-24'
date1=date.split("-")
date2=date1[::-1]
print ("date1:%s"%(date1))
print ("date2:%s"%(date2))
print("/".join(date1))
print("/".join(date2))
#字符串的内置方法
s1="hello"
s2="xijiao"
for i in zip(s1,s2):
    print (i)

for i,j in enumerate("hello"):      #枚举
    print(i,j)






评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值