本题要求提取一个字符串中的所有数字字符('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;