第96题

问题:请编写一个程序,计算并打印由控制台输入的字符串中的每个字符的数量。

示例:如果下面的字符串作为程序的输入:abcdefgab;

那么,程序的输出应该是:a,2 c,2 b,2 e,1 d,1 g,1 f,1;

提示:使用dict存储键/值对。使用dict.get()方法查找具有默认值的键。

dic = {}
s=input()
for s in s:
    dic[s] = dic.get(s,0)+1
print('\n'.join(['%s,%s' % (k, v) for k, v in dic.items()]))

我的答案: 

>>> # s = input() # 假定就输入示例字符串
>>> s = 'abcdefgab'
>>> t = sorted(list(set([(i,s.count(i)) for i in s])))
>>> print(' '.join([','.join([i[0],str(i[1])]) for i in t]))
a,2 b,2 c,1 d,1 e,1 f,1 g,1
>>> 

第97题

问题:请编写一个程序,从控制台接收一个字符串,并以相反的顺序打印出来。

示例:如果下面的字符串作为程序的输入:rise to vote sir;

那么,程序的输出应该是:ris etov ot esir;提示:使用list[::-1]以相反的顺序迭代一个列表。

s=input()
s = s[::-1]
print(s)

我的答案:

>>> s = 'rise to vote sir'
>>> print(''.join(reversed(s)))
ris etov ot esir
>>> 

第98题

问题:请编写一个程序,从控制台接收一个字符串,并打印具有偶数索引的字符;

示例:如果下面的字符串作为程序的输入:H1e2l3l4o5w6o7r8l9d

那么,程序的输出应该是:Helloworld;

提示:使用list[:2]来迭代第2步中的列表。

s=input()
s = s[::2]
print(s)

第99题

问题:请写一个程序,打印[1,2,3]的所有排列;

提示:使用itertools.permutations)得到list的排列。

import itertools
print(list(itertools.permutations([1,2,3])))

第100题

问题:写一个程序来解决一个中国古代的经典难题:我们数农场里的鸡和兔子中有35个头和94条腿。我们有多少只兔子和多少只鸡?

提示:使用for循环来迭代所有可能的解决方案。

def solve(numheads,numlegs):
    ns='No solutions!'
    for i in range(numheads+1):
        j=numheads-i
        if 2*i+4*j==numlegs:
            return i,j
    return ns,ns

numheads=35
numlegs=94
solutions=solve(numheads,numlegs)
print(solutions)

 我的答案:

>>> heads,legs=35,94
>>> for i in range(1,heads+1):
	if 4*i+2*(35-i)==legs:
		print(i,35-i)

		
12 23
>>> 

小学奥数解法: 全部“砍掉”2条腿,94-35x2=24,就剩12只“2脚兔”了 ^_^

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐