请编写一个程序,计算并打印控制台输入的字符串中每个字符的个数。
例如:如果将以下字符串作为程序的输入:
abcdefgabc
然后,程序的输出应该是:
a,2
c,2
b,2
e,1
d,1
g,1
f,1
方法1:
import string
s = input()
for letter in string.ascii_lowercase:
cnt = s.count(letter)
if cnt > 0:
print("{},{}".format(letter,cnt))
方法2:
s = 'abcdefgabc'
for i in sorted(set(s)):
print(f'{i}, {s.count(i)}')
请编写一个程序,接受控制台的字符串,并以相反的顺序打印出来。
示例:如果将以下字符串作为程序的输入:*
rise to vote sir
然后,程序的输出应该是:
ris etov ot esir
s = input()
s = ''.join(reversed(s))
print(s)
请编写一个程序,从控制台接受一个字符串,并打印具有偶数索引的字符。
例如:如果将以下字符串作为程序的输入:
H1e2l3l4o5w6o7r8l9d
然后,程序的输出应该是:
Helloworld
s = "H1e2l3l4o5w6o7r8l9d"
s = [ s[i] for i in range(len(s)) if i%2 ==0 ]
print(''.join(s))
请写一个程序来打印[1,2,3]的所有排列
from itertools import permutations
def permuation_generator(iterable):
p = permutations(iterable)
for i in p:
print(i)
x = [1,2,3]
permuation_generator(x)
写一个程序来解决一个经典的中国古代难题:我们在一个农场的鸡和兔子中数出35个头和94条腿。我们有多少只兔子和多少只鸡?
方法1:
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)
方法2:
import itertools
def animal_counter(lst):
chickens = 0
rabbits = 0
for i in lst:
if i == 2:
chickens += 1
elif i == 4:
rabbits += 1
print(f"Number of chickens is {chickens}\nNumber of rabbits is {rabbits}")
def animal_calculator(total_legs, total_heads, legs_of_each_species):
combinations = itertools.combinations_with_replacement(legs_of_each_species, total_heads)
correct_combos = []
for i in list(combinations):
if sum(i) == total_legs:
correct_combos.append(i)
print(correct_combos)
for i in correct_combos:
animal_counter(i)
animal_calculator(94, 35, legs_of_each_species=[2,4])