题目十
编写一个程序,该程序接受空格分隔的单词序列作为输入,并在删除所有重复单词并对它们进行字母数字排序之后打印这些单词。
假设向程序提供了以下输入:
hello world and practice makes perfect and hello world again
输出结果为:
again and hello makes perfect practice world
代码实现
方法一
world = input("请输入语句,以空格间隔").split(' ')
print(world)
for i in world:
if (world.count(i) > 1):
world.remove(i)
world.sort()
print(world)
方法二
world = input("请输入语句,以空格间隔").split(' ')
[world.remove(i) for i in world if (world.count(i)>1) ]
world.sort()
print(world)
运行结果
请输入语句,以空格间隔hello world and practice makes perfect and hello world again
['hello', 'world', 'and', 'practice', 'makes', 'perfect', 'and', 'hello', 'world', 'again']
['again', 'and', 'hello', 'makes', 'perfect', 'practice', 'world']
题目十一
编写一个程序,该程序接受以逗号分隔的4位二进制数序列作为输入,然后检查它们是否可被5整除。
可被5除的数字将以逗号分隔的顺序打印。
例如输入:
0100,0011,1010,1001
输出:
1010
代码实现
方法一
def check_num(num):
i = 0
if (num % 5 == 0):
i = 1
elif (num % 5 !=0 ):
i = 0
return i
num_check = input("请输入需要检测的数字,并以‘,’分隔:").split(",")
for i in num_check:
l = 1
num_check10 = 0
for j in i:
num_check10 += int(j) * l
l *= 2
if (check_num(num_check10) == 1):
print(i)
方法二
def check(x): # 创建函数检测是否能被5整除
return int(x, 2) % 5 == 0 # int(x,b)中x为字符串格式,b为进制代码,能够将x进行二进制转换
data = input().split(",")
data = list(
filter(check, data)
) # 对 data中的元素进行check函数检测,满足条件则进行输出。其中data要为字符串类型
print(",".join(data))
运行结果
请输入需要检测的数字,并以‘,’分隔:0100,0011,1010,1001
1010
题目十二
编写一个程序,该程序接受以逗号分隔的4位二进制数序列作为输入,然后检查它们是否可被5整除。
可被5除的数字将以逗号分隔的顺序打印。
例如输入:
0100,0011,1010,1001
输出:
1010
代码实现
方法一
num = []
for i in range(1000,3001):
if (i % 2 == 0):
num.append(str(i))
print(",".join(num))
方法二
lst = [str(i) for i in range(1000, 3001)]
lst = list(
filter(lambda i: all(ord(j) % 2 == 0 for j in i), lst)
) # lambda函数一行编写函数
print(",".join(lst))
运行结果
题目十三
编写一个程序,接受一个句子,并计算字母和数字的数量。
假设向程序提供了以下输入
hello world! 123
输出结果为:
字母 10
数字 3
代码实现
方法一
word = input("请输入统计语句")
letter, digit = 0, 0
for i in word:
if ("a" <= i and i <= "z") or ("A" <= i and i <= "Z"):
letter += 1
if "0" <= i and i <= "9":
digit += 1
print("字母 {0}\n数字 {1}".format(letter, digit))
运行结果
请输入统计语句hello world! 123
字母 10
数字 3
总结
以上所有问题大多是与字符串相关的问题。解决方案的主要部分包括字符串释放函数和理解方法,以便以更短的形式编写代码。