python基础练习

1、计算字符串最后一个单词的长度,单词以空格隔开

#!/usr/bin/python
a=input().strip()
a=a[-1::-1]
count=0
for i in a:
    if i!=" ":
        count+=1
    else:
        break
print(count)

a=input().strip().split()
print(len(a[-1]))

声明:s为字符串,rm为要删除的字符序列

s.strip(rm)        删除s字符串中开头、结尾处,位于 rm删除序列的字符

s.lstrip(rm)       删除s字符串中开头处,位于 rm删除序列的字符

s.rstrip(rm)      删除s字符串中结尾处,位于 rm删除序列的字符

当rm为空时,默认删除空白符(包括'\n', '\r',  '\t',  ' ')

rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉

split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串

str = "this is string example....wow!!!"

print (str.split( )) # 以空格为分隔符

print (str.split('i',1)) # 以 i 为分隔符;以i分割,分割后是2个字符串

print (str.split('w')) # 以 w 为分隔符

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

a=input()
b=input()
a=a.lower()
b=b.lower()
print(a.count(b))

3、先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。输入可能有多组数据。每组数据都包括多行,第一行先输入随机整数的个数N,接下来的N行再输入相应个数的整数。

import sys
while True:
    try:
        a=int(sys.stdin.readline().strip())
        b=[]
        for i in range(a):
            line=int(sys.stdin.readline().strip())
            b.append(line)
        c=list(set(b))
        c.sort()
        for j in c:
            print(j)
    except:
        break

4、连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

while True:
    try:
        a=input().strip()
        while len(a)>8:
            print(a[:8])
            a=a[8:]
        a=a.ljust(8,'0')
        print(a)
    except:
        break

5、写出一个程序,接受一个十六进制的数,输出该数值的十进制表示

while True:
    try:
        a=int(input(),16)
        print(int(a))
    except:
        break

6、写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整

while True:
    try:
        n = float(input())
        new = str(n).split(".")
        new_n = int(new[0])
        s = int(new[1][0])
        if s >= 5:
            print(new_n+1)
#            break
        else:
            print(new_n)
#            break
    except:
        break

7、数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。

先输入键值对的个数
然后输入成对的index和value值,以空格隔开

while True:
    try:
        n=int(input().strip())
        dict = {}
        for i in range(n):
            key,value=input().split()
            key,value=int(key),int(value)
            if key not in dict:
                dict[key]=value
            else:
                dict[key]+=value
        for i in sorted(dict):
            print(i,dict[i])
    except:
        break

8、输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。

#!/usr/bin/python
# encoding=utf-8
import sys
while True:
    try:
        n=int(sys.stdin.readline())
        str=[]
        for i in range(n):
            nn=sys.stdin.readline().strip()
            str.append(nn)
        str1=sorted(str)
        for str2 in str1:
            print(str2)
    except:
        break

9、输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。

#!/usr/bin/python
# encoding=utf-8
while True:
    try:
        n=int(input())
        print(bin(n))
        print(bin(n).count("1"))
    except:
        break

 

posted @ 2020-12-13 17:21  闲云野鹤cs  阅读(382)  评论(0编辑  收藏  举报