Day03作业及默写
1.有变量name = "aleX leNb" 完成如下操作:
- 移除 name 变量对应的值两边的空格,并输出处理结果
name ="aleX leNb"
print(name.strip())
- 移除name变量左边的"al"并输出处理结果
name ="aleX leNb"
print(name.lstrip('al'))
- 移除name变量右面的"Nb",并输出处理结果
name ="aleX leNb"
print(name.rstrip('Nb'))
- 移除name变量开头的a"与最后的"b",并输出处理结果
name ="aleX leNb"
s=name[1:-1]
print(s)
- 判断 name 变量是否以 "al" 开头,并输出结果
name ="aleX leNb"
s=name[0:2]
print(s)
if s=='al':
print("该字符串是以al开头")
else:
print("该字符串不是以al开头")
- 判断name变量是否以"Nb"结尾,并输出结果
name ="aleX leNb"
s=name[-2:]
print(s)
if s=='Nb':
print("该字符串是以Nb结尾")
else:
print("该字符串不是以Nb结尾")
- 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
name ="aleX leNb"
print(name.replace('l','p'))
- 将name变量对应的值中的第一个"l"替换成"p",并输出结果
name ="aleX leNb"
print(name.replace('l','p',1))
- 将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
name ="aleX leNb"
s=name.split('l')
print(s)
- 将name变量对应的值根据第一个"l"分割,并输出结果。
name ="aleX leNb"
s=name.split('l',1)
print(s)
- 将 name 变量对应的值变大写,并输出结果
name ="aleX leNb"
s=name.upper()
print(s)
- 将 name 变量对应的值变小写,并输出结果
name ="aleX leNb"
s=name.lower()
print(s)
- 将name变量对应的值首字母"a"大写,并输出结果
name ="aleX leNb"
s=name.title()
print(s)
- 判断name变量对应的值字母"l"出现几次,并输出结果
name ="aleX leNb"
s=name.count('l')
print(s)
- 如果判断name变量对应的值前四位"l"出现几次,并输出结果
name ="aleX leNb"
s=name.count('l',0,4)
print(s)
- 从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
name ="aleX leNb"
s=name.index('N')
print(s)
- 从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果
name ="aleX leNb"
s=name.find('N')
print(s)
- 从name变量对应的值中找到"X le"对应的索引,并输出结果
name ="aleX leNb"
s=name.index('X le')
print(s)
- 请输出 name 变量对应的值的第 2 个字符?
name ="aleX leNb"
s=name[1]
print(s)
- 请输出 name 变量对应的值的前 3 个字符?
name ="aleX leNb"
s=name[0:3]
print(s)
- 请输出 name 变量对应的值的后 2 个字符?
name ="aleX leNb"
s=name[-2:]
print(s)
- 请输出 name 变量对应的值中 "e" 所在索引位置(两个e都找)?
name ="aleX leNb"
s=name.rfind('e')
print(s)
s1=name.find('e')
print(s1)
2.有字符串s = "123a4b5c"
- 通过对s切片形成新的字符串s1,s1 = "123"
s = "123a4b5c"
s1=s[0:3]
print(s1)
- 通过对s切片形成新的字符串s2,s2 = "a4b"
s = "123a4b5c"
s2=s[3:-2]
print(s2)
- 通过对s切片形成新的字符串s3,s3 = "1345"
s = "123a4b5c"
s3=s[::2]
print(s3)
- 通过对s切片形成字符串s4,s4 = "2ab"
s = "123a4b5c"
s4=s[1:-2:2]
print(s4)
- 通过对s切片形成字符串s5,s5 = "c"
s = "123a4b5c"
s5=s[-1:-2:-1]
print(s5)
- 通过对s切片形成字符串s6,s6 = "ba2"
s = "123a4b5c"
s6=s[-3:0:-2]
print(s6)
- 使用while和for循环分别打印字符串s="asdfer"中每个元素。
s="asdfer"
num=len(s)
i=0
while(i<num):
print(s[i])
i+=1
或者
s="asdfer"
for i in s:
print(i)
4.使用for循环对s="asdfer"进行循环,但是每次打印的内容都是"asdfer"。
while True:
s="asdfer"
for i in s:
print(i)
- 使用for循环对s="abcdefg"进行循环,每次打印的内容是每个字符加上sb, 例如:asb, bsb,csb,...gsb。
while True:
s = "abcdefg"
for i in s:
print(i+'sb')
- 使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。
while True:
s = "321"
for i in s:
print('倒计时%s秒'%(i))
if i=='1':
print("出发!")
7.实现一个整数加法计算器(两个数相加):
如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
content = input("请输入内容:")
s=content.split('+')
sum=int(s[0])+int(s[1])
print(sum)
- 升级题:实现一个整数加法计算器(多个数相加):
content = input("请输入内容:")
s=content.split('+')
NN=len(s)
i=0
sum=0
while i<NN:
sum+=int(s[i])
i+=1
print(sum)
如:content = input("请输入内容:") 用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。
9.计算用户输入的内容中有几个整数(以个位数为单位)。
如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla
s="fhdal234slfh98769fjdla"
i=0
for n in s:
if n.isdigit():
i+=1
print(i)
10.写代码,完成下列需求:(升级题)
用户可持续输入(用while循环),用户使用的情况:
输入A,则显示走大路回家,然后在让用户进一步选择:
是选择公交车,还是步行?
选择公交车,显示10分钟到家,并退出整个程序。
选择步行,显示20分钟到家,并退出整个程序。
输入B,则显示走小路回家,并退出整个程序。
输入C,则显示绕道回家,然后在让用户进一步选择:
是选择游戏厅玩会,还是网吧?
选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。
选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。
while True:
msg=input("用户输入A或B或C:")
if msg=="A":
print("走大路回家")
msg1=input("输入公交车或步行:")
if msg1=="公交车":
print("10分钟到家")
break
elif msg1=="步行":
print("20分钟到家")
break
elif msg=='B':
print("10分钟到家")
break
elif msg=='C':
print("绕道回家")
msg2 = input("游戏厅或者回家:")
if msg2 == "游戏厅":
print("一个半小时到家,爸爸在家,拿棍等你。")
continue
elif msg2 == "回家":
print("两个小时到家,妈妈已做好了战斗准备。")
continue
11.写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?
count=0
sum=0
while count<99:
count+=1
sum+=(-1)**(count+1)*count
sum-=88
print(sum)
12.判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海 ⾃来⽔来⾃海上(升级题)
s="上海⾃来⽔来⾃海上"
s1=s[::-1]
if s==s1:
print("是回文")
else:
print("不是回文")
输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字, 其它字符共出现了多少次,并输出出来
i1=0
i2=0
i3=0
i4=0
s=input("请输入字符串:")
for n in s:
if n.isdigit():
i1+=1
elif n.isupper():
i2 += 1
elif n.islower():
i3+=1
else:
i4+=1
print("大写字母个数为%s,小写字母个数为%s,数字个数为%s,其他字符个数为%s"%(i2,i3,i1,i4))
14.制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进行任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx
s1=input("姓名:")
s2=input("地点:")
s3=input("爱好:")
print("敬爱可亲的%s最喜欢在%s%s"%(s1,s2,s3))
15.将一下代码中的内容使用循环打印,分别使用while循环和for循环
s = ‘我怎么这么可爱’ 实现效果是
我
怎
么
这
么
可
爱
s="我怎么这么可爱"
num=len(s)
i=0
while i<num:
i+=1
print(s[i-1])
或者
s="我怎么这么可爱"
for n in s:
print(n)
16.
首先让用户输入序号选择格式如下:
0.退出
1.开始登录
如果用户选择序号0 就提示用户退出成功
如果用户选择序号1就让用户输入用户名密码然后进行判断,正确就终止循环,错误重新输入
while True:
s=input("请输入序号:")
if s=='0':
print("用户退出成功")
break
elif s=='1':
s1=input("请输入用户名:")
s2= input("请输入密码:")
if s1=="王哥" and s2=="123":
print("输入正确")
break
17.三次登录:
1.让用户输入三次的机会,错一次的时候就要询问用户是否要继续
2.分别判断用户名和密码,如果用户名错误就提示用户错误,如果是密码错误就提示是密码错误.在输入账号和密码时候不区分大小写
3.使用格式化输出来提示用户所剩余的次数
4.用户输入正确就提示’输入正确’,并结束循环
num=0
while num<3:
msg1=input("请输入用户名:")
msg2=input("请输入密码:")
if msg1.upper()=="GuoGe".upper() and msg2.upper()=="asfgGSDa".upper():
print("输入正确")
break
elif msg1.upper()=="GuoGe".upper() and msg2.upper()!="asfgGSDa".upper():
print("输入用户名正确,但密码错误,是否要继续?")
print("还剩下%s次机会"%(2-num))
elif msg1.upper()!="GuoGe".upper() and msg2.upper() == "asfgGSDa".upper():
print("输入用户名错误,密码正确,是否要继续?")
print("还剩下%s次机会" % (2 - num))
else:
print("输入用户名和密码都错误,是否要继续?")
print("还剩下%s次机会" % (2 - num))
num += 1
明日默写内容:
分别用while,for循环输出字符串s = input("你想输入的内容")的每一个字符。
s=input("请输入内容:")
num=len(s)
i=0
while i<num:
print(s[i])
i+=1
或者
s=input("请输入内容:")
for n in s:
print(n)