2021-03-23

 

本题要求提取一个字符串中的所有数字字符('0'……'9'),将其转换为一个整数输出。

输入格式:

输入在一行中给出一个不超过80个字符且以回车结束的字符串。

输出格式:

在一行中输出转换后的整数。题目保证输出不超过长整型范围。

输入样例:

free82jeep5

输出样例:

825
a = input()
b = []
for i in a:
    if i.isdigit():
        b.append(i)
print(int("".join(b)))

 思路:用isdigit函数来进行,表示判断一个字符串是否为数字,最后一行"".join[b]join的基本用法,如下图:

 

 

本题要求统计一个整型序列中出现次数最多的整数及其出现次数。

输入格式:

输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。

输出格式:

在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。

输入样例:

10 3 2 -1 5 3 4 3 0 3 2

输出样例:

3 4

代码

res = []
counts = {}
lst = list(map(int,input().split()))
t = lst[1: lst[0]+1]
for word in t:
    counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
word, count = items[0]
print ("{:d} {:d}".format(word, count))

其中:

counts[word] = counts.get(word,0)+1
是对进行计数word出现的频率进行统计,
当word不在words时,返回值是0,
当word在words中时,返回+1,
以此进行累计计数。

如上图为调试一半的结果,items返回的即为出现的数字加上出现的次数组合形成的字典

 

 

读入2个正整数A和B,1<=A<=9, 1<=B<=10,产生数字AA...A,一共B个A

输入格式:

在一行中输入A和B。

输出格式:

在一行中输出整数AA...A,一共B个A

输入样例1:

在这里给出一组输入。例如:

  1,  5

输出样例1:

在这里给出相应的输出。例如:

11111

输入样例2:

在这里给出一组输入。例如:

        3  ,4

输出样例2:

在这里给出相应的输出。例如:

3333

代码

a,b=input().split(",") 
c,d=a.strip(),b.strip() 
f=int(d) 
n=int(c[0]*f) 
print(n)

其中strip的用法是:

 

 

a = str(input())
print(a[::-1])

逆序输出a

 

题目:

输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。

输入格式:

输入在一行中给出一个以#结束的非空字符串。

输出格式:

在一行中输出转换后的十进制数。题目保证输出在长整型范围内。

输入样例:

+-P-xf4+-1!#

输出样例:

-3905

 

代码

s=input()
st=""
for i in s:
    if(i=='#'):
        break
    st=st+i
t=""
flag=0
f=0
sum=0
for i in st:
    if(i=='-' and flag==0):
        f=1
    if(i>='0' and i<='9')or(i>='a' and i<='f')or(i>='A' and i<='F'):
        t=t+i
        flag=1
if(f):
    for i in t:
        if (i >= '0' and i <= '9'):
            sum = sum * 16 + ord(i) - 48
        elif (i >= 'a' and i <= 'f'):
            sum=sum * 16+ord(i)-87
        elif (i>= 'A' and i <= 'F'):
            sum=sum * 16+ord(i)-55
    print(sum*-1)
else:
    for i in t:
        if (i >= '0' and i <= '9'):
            sum = sum * 16 + ord(i) - 48
        elif (i >= 'a' and i <= 'f'):
            sum=sum * 16+ord(i)-87
        elif (i>= 'A' and i <= 'F'):
            sum=sum * 16+ord(i)-55
    print(sum)

其中ord()函数意义为返回对应字符的ascii码

 

isupper()函数:表示若为大写字母则返回True,若为小写字母则返回false;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值