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']))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)