python读入2个正整数a和b_Python基础(二)

Python基本类型练习题

1.写代码,有如下变量,请按照要求实现每个功能

name = " aleX"

A. 移除name变量对应的值两边的空格,并输出移除后的内容

B. 判断 name变量对应的值是否以 "al" 开头,并输出结果

C. 判断 name变量对应的值是否以 "X" 结尾,并输出结果

D. 将 name变量对应的值中的 “l” 替换为 “p”,并输出结果

E. 将 name变量对应的值根据 “l” 分割,并输出结果。

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

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

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

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

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

K. 请输出name变量对应的值中 “e” 所在索引位置

测试代码如下

1 name = "aleX"

2

3 #输出原始字符串

4 print("original name=", name)5

6 #A. 移除name变量对应的值两边的空格,并输出移除后的内容

7 print("A:", name.strip())8

9 #B. 判断 name变量对应的值是否以 "al" 开头,并输出结果

10 print("B:", name.startswith("al"))11

12 #C. 判断 name变量对应的值是否以 "X" 结尾,并输出结果

13 print("C:", name.endswith("X"))14

15 #D. 将 name变量对应的值中的 “l” 替换为 “p”,并输出结果

16 print("D:", name.replace("l", "p"))17

18 #E. 将 name变量对应的值根据 “l” 分割,并输出结果。

19 print("E:", name.split("l"))20

21 #F. 将 name变量对应的值变大写,并输出结果

22 print("F:", name.upper())23

24 #G. 将 name变量对应的值变小写,并输出结果

25 print("G:", name.lower())26

27 #H. 请输出 name变量对应的值的第 2个字符

28 print("H:", name[1])29

30 #I. 请输出 name变量对应的值的前 3个字符

31 print("I:", name[0:3])32

33 #J. 请输出 name变量对应的值的后 2个字符

34 print("J:", name[-2:])35

36 #K. 请输出name变量对应的值中 “e” 所在索引位置

37 print("K:", name.find("e"))38

39 #L. 获取子序列,仅不包含最后一个字符

40 print("L:", name[:-1])

输出结果

结果说明:

B.输出结果为False是因为字符串是以“空格al”打头,并不是“al”打头

E.split函数以“l”为分隔符把字符串分为了两部分,并且把结果作为列表返回,作为分隔符的“l”将不作为返回的结果

H.Python索引从0开始,第二个字符索引为1,索引为0的字符是空格,索引为1的字符就是a

I.前3个字符是“空格al”

J.字符串分片,Python支持索引为负数,[-2:]表示从倒数第2个字符到字符串结束,也就是最后两个字符

K.在字符串“空格aleX”中,字符e是第4个字符,由于索引从0开始,因此e的索引值就是3

L.字符串分片,[:-1]表示0个字符开始,直到最后一个字符,单不包含最后一个字符

分片的区间补充说明[num1:num2],区间取值前闭后开,对应于数学上的取范围为表示[num1,num2),即大于等于num1,小于num2。(num1<=num

2.请用代码实现:

A. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"

B. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex','eric','rain']

测试代码如下

1 li = "alexericrain"

2 print("A:")3 print("_".join(li))4

5 li = ['alex', 'eric', 'rain']6 print("B:")7 print("_".join(li))

输出结果

3.实现一个整数加法计算器:

如: content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9

测试代码如下

1 content = input("请输入一个加法表达式>>>")2 number_list = content.strip().split("+")3 result =04 for num innumber_list:5 result +=int(num)6

7 print("result=", result)

代码说明:

本人初学者,因此没有在代码中对输入信息做异常判断和处理

1)首先使用content接收input函数的输入,输入信息会被转换成字符串保存在变量content中

2)使用strip函数把输入字符串中的所有空格去除,即把“5 + 9”等字符串变成没有空格“5+9”

3)使用split("+")把上面处理过后的字符串“5+9”根据加号切割成多个部分,使用number_list变量来保存返回的列表信息

4)使用for遍历number_list中的元素,由于经过split函数处理后的列表中每个元素都是字符串,需要使用int()来转换成整形,才能做加法,依次把元素取出,转成整形,与上次的结果相加,最后达到所有元素的结果

5)本测试代码支持多个数的连续相加(不止两个数)

输出结果

4.计算用户输入的内容中有几个十进制数字?几个字母?

如: content = input('请输入内容:') # 如:asduiaf878123jkjsfd-213928

测试代码如下

1 content = input("请随意输入一串字符数字>>>")2 number_counter =03 alpha_counter =04 for tmp incontent:5 iftmp.isalpha():6 alpha_counter += 1

7 eliftmp.isdecimal():8 number_counter += 1

9

10 print("字母数量:", str(alpha_counter))11 print("数字数量:", str(number_counter))

输出结果

结果说明:

输入中的“-”字符不被算做字母,也不被算做十进制数字

5.制作趣味模板程序

需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实

如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx

测试代码如下

1 name = input("输入名字>>>")2 addr = input("输入地点>>>")3 hobby = input("输入爱好>>>")4

5 print("敬爱可亲的%s,最喜欢在%s%s" %(name, addr, hobby))6 print("敬爱可亲的{},最喜欢在{}{}".format(name, addr, hobby))

代码说明:

代码中使用了两种格式化字符串的方法,分别是%和format,最终得到的字符串相同

输出结果

6.开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:

如 "苍老师" "东京热",则将内容替换为 ***

测试代码如下

1 sensitive_work = ("苍老师", "东京热")2 content = input("请输入一个句子>>>")3 for word insensitive_work:4 content = content.replace(word, "***")5

6 print(content)

输出结果

7.制作表格

循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20个字符,如果超过则只有前 20个字符有效)

如果用户输入 q或 Q 表示不再继续输入,将用户输入的内容以表格形式打印

测试代码如下

1 info_list =[]2 whileTrue:3 name = input("请输入名字(输入q或者Q退出)>>>")4 if (name.lower() == "q"):5 break;6 else:7 name = name[:21]8

9 pwd = input("请输入密码(输入q或者Q退出)>>>")10 if (pwd.lower() == "q"):11 break;12 else:13 pwd = pwd[:21]14

15 email = input("请输入邮箱(输入q或者Q退出)>>>")16 if (email.lower() == "q"):17 break;18 else:19 email = email[:21]20

21 info_dict = {"name": name, "pwd": pwd, "email": email}22 info_list.append(info_dict)23

24 print("%-20s%-20s%-20s" % ("Name", "Password", "Email"))25

26 for item ininfo_list:27 print("%-20s%-20s%-20s" % (item["name"], item["pwd"], item["email"]))

代码说明:

1.通过字典info_dict保存用户输入的名字,密码和邮箱。截取每次输入的前20个字符[:21]

2.把每次整理好的字典放入到列表info_list中

3.检测输入为q或者Q则退出

4.循环获取列表中的各个字典进行格式化输出

输出结果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值