曲鬼鬼的刷题

本文分享了Python编程刷题的一些经典题目和解决方案,涵盖了字符串处理、字符统计、进制转换、数据处理等多个方面。通过实例展示了如何利用Python进行有效的编程实践,同时也提到了他人更高效的解题方法,如正则表达式的应用。
摘要由CSDN通过智能技术生成

01字符串分隔
•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;

•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入:abc
输出:abc00000

s1 = input()
if len(s1) < 1 or len(s1) == 8:
    print(s1)
elif 1<len(s1)<8:
    n = 8-len(s1)
    print(s1+"0"*n)
else:
    while len(s1)>8:
        print (s1[:8])
        s1 = s1[8:]
    print(s1 + '0'*(8-len(s1)))

02字符串最后一个单词的长度

s = input()
s1 = s.split()
a = s1.pop()
lens = len(a)
print(lens)

03计算某字符出现次数
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
输入:
ABCabc
A
输出:2

s1 = input()
s2 = input()
j = 0
for i in range(len(s1)):
    if s1[i].lower() == s2.lower():
        j = j+1
    i = i+1
print(j)

s1 = input().lower()
s2 = input().lower()
print(s1.count(s2))

** 04进制转换**
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
输入:0xAA
输出:170

a = input()
if a[0] + a[1] == '0x':
    s = 0
    converString = '0123456789ABCDEF'
    lens = len(a)
    for i in range(2,lens):
        b = converString.index(a[i])
        s =s + b * (16 ** (lens - i-1))
print(s)

05 合并表记录
数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。
示例1
输入:
4
0 1
0 2
1 2
3 4
输出:
0 3
1 2
3 4
示例2
输入:
3
0 1
0 2
8 9
输出:
0 3
8 9

index,value = map(int,input().split())

a = int(input())
d = {
   }
for i in range(a):
    index,value = map(int,input().split())
    if index in d.keys():
        d[index] += value
    else:
        d[index] = value

for index in sorted(d.keys()):
    print(index,d[index])

06字符串反转
输入:
abcd
输出:
dcba

s = input()
a = []
b = ''
for i in range(len(s)):
    a.append(s[i])

for j in range(len(s)):
    b += a.pop()
print(b)
    

但是别人的方法好简单啊。。

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

07句子逆序
输入:
I am a boy
输出:
boy a am I

a = input().split()[::-1]
s = ''
for i in a:
    s = s + i +' '
print (s)

08字符串排序
给定 n 个字符串,请对 n 个字符串按照字典序排列。
输入:
9
cap
to
cat
card
two
too
up
boat
boot
输出:
boat
boot
cap
card
cat
to
too
two
up

a = int(input())
b = []
for i in range(a):
    b.append(input())
b.sort()
for j in b:
    print(j)

09求int型正整数在内存中存储时1的个数
输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。
示例1
输入:
5
输出:
2
示例2
输入:
0
输出:
0

a = int(input())
s = []
while a >=1:
    b = a%2
    s.append(b)
    a = a //2
j = 0
for i in s:
    if i == 1:
        j = j+1
print(j) 

别人的:

a = bin(int(input()))
b = str(a)
print(b.count('1'))

多组输入输出

while True:
    try:
        a = int(input())
        b = bin(a)
        print(b.count('1'))
    except:
        break

10单词倒排
输入:
I am a student
输出:
student a am I

输入:
$bo*y gi!r#l
输出:
l r gi y bo

本人写了一个半小时的,像个冤种。。。

ls = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
s = input().split()
c = ''
for i in s:
    # print(i)
    b 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值