python之道_python之道03

1.有变量name = " aleX leNb " 完成如下操作:

移除 name 变量对应的值两边的空格,并输出处理结果

答案:

name = " aleX leNb "

name1 = name.strip()

print(name1)

'''

输出结果

aleX leNb

'''

将 name变量对应的值中所有的空格去除掉,并输出处理结果

答案:

name = " aleX leNb "

name1 = name.replace(' ','')

print(name1)

'''

输出结果

aleXleNb

'''

# 个人见解

# 这里的知识点用的是替换,strip只能去除字符两遍的空格

判断 name 变量是否以 "al" 开头,并输出结果(用两种方式 切片+字符串方法)

答案:

# 方式一:

name = " aleX leNb "

name1 = name.startswith('al')

print(name1)

'''

输出结果

False

'''

# 方式二:

name = " aleX leNb "

name1 = name[2]

if name1 == 'al':

print(True)

else:

print(False)

'''

输出结果

False

'''

判断name变量是否以"Nb"结尾,并输出结果(用两种方式 切片+字符串方法)

答案:

# 方式一:

name = " aleX leNb "

name1 = name.endswith('Nb')

print(name1)

'''

输出结果

False

'''

# 方式二:

name = " aleX leNb "

name1 = name[-2:]

if name1 == 'Nb':

print(True)

else:

print(False)

'''

输出结果

False

'''

将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果

答案:

name = " aleX leNb "

name1 = name.replace('l','p')

print(name1)

'''

输出结果

apeX peNb

'''

将name变量对应的值中的第一个"l"替换成"p",并输出结果

答案:

name = " aleX leNb "

name1 = name.replace('l','p',1)

print(name1)

'''

输出结果

apeX leNb

'''

将 name 变量对应的值根据 "l" 分割,并输出结果

答案:

name = " aleX leNb "

name1 = name.split('l')

print(name1)

'''

输出结果

[' a', 'eX ', 'eNb ']

'''

将 name 变量对应的值全部变大写,并输出结果

答案:

name = " aleX leNb "

name1 = name.upper()

print(name1)

'''

# 输出结果

# ALEX LENB

'''

将 name 变量对应的值全部变小写,并输出结果

答案:

name = " aleX leNb "

name1 = name.lower()

print(name1)

'''

# 输出结果

# alex lenb

'''

疑问: 对应值是否包含空格?个人以为包括

请输出 name 变量对应的值的第 2 个字符?

答案:

name = " aleX leNb "

name1 = name[1]

print(name1)

'''

# 输出结果

# a

'''

请输出 name 变量对应的值的前 3 个字符?

答案:

name = " aleX leNb "

name1 = name[:3]

print(name1)

'''

# 输出结果

# al

'''

请输出 name 变量对应的值的后 2 个字符?

答案:

name = " aleX leNb "

name1 = name[-2:-1] # name[-2:]

print(name1)

'''

# 输出结果

# b

'''

2.有字符串s = "123a4b5c"

通过对s切片形成新的字符串 "123"

答案:

s = "123a4b5c"

s1 = s[:3]

print(s1)

'''

# 输出结果

# 123

'''

通过对s切片形成新的字符串 "a4b"

答案:

s = "123a4b5c"

s2 = s[3:6]

print(s3)

'''

# 输出结果

# a4b

'''

通过对s切片形成字符串s5,s5 = "c"

答案:

s = "123a4b5c"

s5 = s[-1]

print(s5)

'''

# 输出结果

# c

'''

通过对s切片形成字符串s6,s6 = "2ab"

答案:

s = "123a4b5c"

s6 = s[1:6:2] #或者s[1:-2:2]

print(s6)

'''

# 输出结果

# 2ab

'''

通过对s切片形成字符串s6,s6 = "cba"

答案:

s = "123a4b5c"

s6 = s[:2:-2] #s[-1:2:-2]

print(s6)

'''

# 输出结果

# cba

'''

3.使用while循环字符串 s="你好世界" 中每个元素。

答案:

s="你好世界"

count = 0

while count < len(s):

print(s[count])

count += 1

'''

输出结果

'''

# 默写少了count += 1

# for循环

for i in s:

print(i)

4.使用while循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"(提示使用字符串方法中的格式化)

答案:

# 方式一:

s="321"

count = 0

while count < len(s):

s1 = s[count]

print(f'倒计时{s1}秒')

count += 1

if count == 1: # 其实这样写没有意义

pass

print('出发')

'''

输出结果

倒计时3秒

倒计时2秒

倒计时1秒

出发

'''

# 方式二:升级版

s="321"

count = 0

while count < len(s):

s1 = s[count]

print(f'倒计时{s1}秒')

count += 1

print('出发')

'''

输出结果

倒计时3秒

倒计时2秒

倒计时1秒

出发

'''

# 方式三: format版本

s="321"

count = 0

while count < len(s):

s1 = s[count]

print('倒计时{}秒'.format(s[count]))

count += 1

print('出发')

'''

输出结果

倒计时3秒

倒计时2秒

倒计时1秒

出发

'''

5.使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"(提示使用字符串方法中的格式化)

答案:

s="321"

for i in s:

print(f'倒计时{i}秒')

print('出发')

'''

输出结果

倒计时3秒

倒计时2秒

倒计时1秒

出发

'''

6.实现一个整数加法计算器(两个数相加):

如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最终进行整数的计算得到结果。(列表也支持索引)

答案:

# 方式一:超级low版本(不满足要求)

a = int(input('请输入一个数: '))

b = int(input('请输入第二个数: '))

print(a + b)

'''

# 输出结果

# 请输入一个数: 12

# 请输入第二个数: 12

# 24

'''

# 方式二:满足题意版本

content = input('请输入: ').strip()

a = content.split("+")

print(int(a[0])+int(a[1]))

# 输出结果

请输入: 12 + 20

32

# 方式三:老师的版本

content = input('请输入: ').strip()

new_str = conten.replace(' ','')

li = new_str.split('+')

print(int(a[0])+int(a[1]))

'''

# 输出结果

请输入: 12 + 20

32

'''

7.计算用户输入的内容中有几个 s 字符?

如:content = input("请输入内容:") # 如abcassfsqfsafqsdzacsad

答案:

a = input('请输入内容: ')

a1 = a.count('s')

print(a1)

'''

输出结果

请输入字母: ssljd

2

'''

8.使用while循环分别正向和反向对字符串 message = "伤情最是晚凉天,憔悴厮人不堪言。" 进行打印。

答案:

# 正向打印:

message = "伤情最是晚凉天,憔悴厮人不堪言。"

count = 0

while count < len(message):

print(message[count],end = '') # end知识点,默认是end是'\n换行'

count += 1

'''

输出结果:

伤情最是晚凉天,憔悴厮人不堪言。

'''

# 反向打印:

message = "伤情最是晚凉天,憔悴厮人不堪言。"

count = 0

while count < len(message):

print(message[::-1][count],end = '')

count += 1

'''

输出结果:

。言堪不人厮悴憔,天凉晚是最情伤

'''

9.获取用户输入的内容,并计算前四位"a"出现几次,并输出结果。

答案:

content = input('请输入内容: ')

a = content[:3].count('a')

print(a)

'''

# 输出结果

请输入内容: aadfa

2

'''

10.制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx (字符串格式化)

答案:

# 方式一:

name = input('请输入名字:')

place = input('请输入地点:')

hobby = input('请输入爱好:')

print(f'敬爱可亲的{name},最喜欢在{place}的地方喜欢{hobby}')

# 方式二,1行版本:

print(f"敬爱可亲的{input('请输入名字:')},最喜欢在{input('请输入地点:')}的地方喜欢{input('请输入爱好:')}")

11.判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海⾃来⽔来⾃海上

答案:

while 1:

content = input('请输入:')

if content[::-1] == content:

print('是回文')

else:

print('不是回文')

'''

输出结果

请输入:123321

是回文

请输入:123456

不是回文

请输入:山西运煤车煤运西山

是回文

'''

12.输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字,其他各出现了多少次,并输出出来

答案:

content = input('请输入:').strip()

u_upper = 0

l_lower = 0

d_digit = 0

other = 0

for i in content:

if i.isupper():

u_upper += 1

elif i.islower():

l_lower += 1

elif i.isdigit():

d_digit += 1

else:

other += 1

print(f'在这个字符串中大写字母出现{u_upper}次,小写字母出现{u_lower}次,数字出现{d_digit}次,其他出现{other}次.')

'''

输出结果

请输入:aBcD12!

在这个字符串中大写字母出现2次,小写字母出现2次,数字出现2次,其他出现1次.

'''

13.用户可持续输入(用while循环),用户使用的情况:

输入A,则显示走大路回家,然后在让用户进一步选择:

是选择公交车,还是步行?

选择公交车,显示10分钟到家,并退出整个程序。

选择步行,显示20分钟到家,并退出整个程序。

输入B,则显示走小路回家,并退出整个程序。

输入C,则显示绕道回家,然后在让用户进一步选择:

是选择游戏厅玩会,还是网吧?

选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。

选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。

答案:

while 1:

print('''

A: 走大路回家(可以选择公交或步行)

B: 走小路回家

C: 绕道回家(可以选择游戏厅或网吧)

''')

content = input('请输入A/B/C(不区分大小写):').strip()

if content.upper() == 'A':

print('走大路回家')

choise = input('公交车or步行?')

if choise == '公交车':

print('10分钟到家')

break

elif choise == '步行': # 这里不能用else,要不然输入其他内容也打印如下

print('20分钟到家')

break

elif content.upper() == 'B':

print('走小路回家')

break

elif content.upper() == 'C':

print('绕道回家')

choise1 = input('游戏厅玩会儿or网吧')

if choise1 == '游戏厅玩会儿':

print('一个半小时到家,爸爸在家,拿棍等你')

else:

print('两个小时到家,妈妈已做好了战斗准备')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值