100例经典Python核心实战提升练习题汇总(二)

100例经典Python核心实战提升练习题汇总(二),第1张

11.输入4位2进制数字,以逗号隔开,检验它们能否被5整除,满足条件的用逗号分隔符打印出来。比如输入0100, 0011, 1010, 1001,然后输出1010。

12.打印出[1000, 3000]中 每一位 都是偶数的数字,且用逗号隔开。

13.输入一组字符串,计算字符和数字的个数。假设输入: hello world! 123,输出:LETTERS 10 DIGITS 3。

14. 输入字符串,判断字符串是大写还是小写,并分别计算个数。假设输入:Hello world!,则输出:UPPER CASE 1 LOWER CASE 9

答案:

第十一题:

# split()通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串,最后转换为列表
b = input('请输入4位二进制数字序列:').split(',')
# 创建一个空列表,准备接收符合条件的二进制数
l = []
# 遍历列表b
for i in b:
    # 如果列表b里的元素可以被5整除,则将对应的元素添加到列表l里
    if (int(i, 2) % 5) == 0:
        l.append(i)
# 对新的列表使用逗号连接,生成一个新的字符串result
result = ','.join(l)
# 打印新的字符串result
print(result)

答案:

第十二题:

第一种答案:

# 使用列表推导式加判断
# 注意:判断条件里首先要把元素i转换成字符串才可以使用下标,取到对应下标的值后转换为整型,再进行取余运算,然后才是判断余数是不是0,因为1000到3000都是4位数,所以下标自然是0到3
l = [i for i in range(1000, 3001)
     if int(str(i)[0]) % 2 == 0 and int(str(i)[1]) % 2 == 0 and int(str(i)[2]) % 2 == 0 and int(str(i)[3]) % 2 == 0]
print(','.join('%s' % i for i in l))

第二种答案:

# 先定义一个空列表,准备接收符合条件的数据
ans = []
# 遍历1000到3001
for i in range(1000, 3001):
    # 将所有数字转换成字符串,以便后面判断时使用下标
    tmp_str = str(i)
    # 使用下标取到对应的值后转换为整型,再进行取余运算,然后才是判断余数是不是0,因为1000到3000都是4位数,所以下标自然是0到3
    if int(tmp_str[0]) % 2 == 0 and int(tmp_str[1]) % 2 == 0 and int(tmp_str[2]) % 2 == 0 and int(tmp_str[3]) % 2 == 0:
        # 将符合条件的数字添加到之前准备的空列表中
        ans.append(tmp_str)

# 使用逗号分割符合条件的数字组成的列表并转换成字符串,最后打印出来
print((",".join(ans)))

第十三题:

第一种答案:

# 将用户输入的数据存储到字符串s里
s = input('请输入字符和数字:')
# 定义变量d、l,初始值为0,以备后面计数使用
c = 0
d = 0
# 遍历字符串s
for i in s:
    # 如果遍历到的字符串里的元素为字母,则变量c加1
    if i.isalpha():
        c += 1
    # 如果遍历到的字符串里的元素为数字,则变量d加1
    elif i.isdigit():
        d += 1
# 打印计算结果
print(f'LETTERS %d DIGITS %d' % (c, d))

第二种答案:

# 将用户输入的数据存储到字符串items里
items = input('请输入字符和数字:')
# 创建字典d,用来存储后续字母、数字计数
d = {"DIGITS": 0, "LETTERS": 0}
# 遍历字符串items
for c in items:
    # 如果遍历到的字符串里的元素为数字,则字典d里键为DIGITS的值加1
    if c.isdigit():
        d["DIGITS"] += 1
    # 如果遍历到的字符串里的元素为字母,则字典d里键为LETTERS的值加1
    elif c.isalpha():
        d["LETTERS"] += 1

# 打印字母数量,直接从字典里获取LETTERS的值,打印末尾以空格结束
print("LETTERS", d["LETTERS"], end=' ')
# 打印数字数量,直接从字典里获取DIGITS的值
print("DIGITS", d["DIGITS"])

第十四题:

第一种答案:

# 将用户输入的数据存储到字符串items里
items = input('请输入字符串:')
# 定义变量u、l,初始值为0,以备后面计数使用
u = 0
l = 0
# 遍历字符串items
for i in items:
    # 如果遍历到的字符串里的元素为大写,则变量u加1
    if i.isupper():
        u += 1
    # 如果遍历到的字符串里的元素为小写,则变量l加1
    elif i.islower():
        l += 1
# 打印计算结果
print('UPPER CASE %d LOWER CASE %d' % (u, l))

第二种答案:

# 将用户输入的数据存储到字符串items里
items = input('请输入字符串:')
# 创建字典d,用来存储后续大小写计数
d = {'UPPER': 0, 'LOWER': 0}
# 遍历字符串items
for i in items:
    # 如果遍历到的字符串里的元素为大写,则字典d里键为UPPER的值加1
    if i.isupper():
        d['UPPER'] += 1
    # 如果遍历到的字符串里的元素为小写,则字典d里键为LOWER的值加1
    elif i.islower():
        d['LOWER'] += 1
# 打印大小写字符的数量,直接从字典里获取对应的值
print('UPPER CASE %d LOWER CASE %d' % (d['UPPER'], d['LOWER']))

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/731058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存