Python 重解零基础100题(10-2)
常用函数列表:>>> import random>>> [i for i in dir(random) if i[0]>='a']['betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss','getrandbits', 'getstate', 'lognormvar
第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脚兔”了 ^_^

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