7-1 sdut-字符串排序分数 10作者 周雪芹单位 山东理工大学一行内输入N个字符串按字典序从小到大进行排序后输出。输入格式:输入数据有一行分别为N个字符串用空格分隔每个字符串长度不超过100。输出格式:输出排序后的字符串用空格分隔。输入样例:abcd cdef bcde 21321321 adfakf hello python regex输出样例:21321321 abcd adfakf bcde cdef hello python reg实现代码llist(input().split()) l.sort() print(*l,sep )7-2 sdut-字符之比较大小分数 10作者 周雪芹单位 山东理工大学输入3个不同整数,这3个整数分别对应3个字母的ASCII码值把这3个字母按它的ASCII码值从小到大输出。输入格式:输入在一行中给出3个整数其间以空格分隔。输出格式:在一行中将3个字母按ASCII码值从小到大输出其间以“”相连。输入样例:97 65 100输出样例:Aad实现代码nums[chr(int(num)) for num in input().split()] nums.sort() print(*nums,sep)7-3 sdut-判断回文字符串分数 10作者 周雪芹单位 山东理工大学回文就是字符串中心对称从左向右读和从右向左读的内容是一样的。输入一个字符串判断该字符串是否为回文只考虑数字和字母字符字母的大小写没有区别。输入格式:输入一个字符串。输出格式:判断字符串是否为回文若是则在一行内输出yes否则输出no。输入样例:A man,a plan; cnalPanama输出样例:yes实现代码nums[num for num in input().upper() if num.isalpha()] if numsnums[::-1]: print(yes) else: print(no)7-4 sdut-删除字符分数 10作者 周雪芹单位 山东理工大学输入一个字符串 str和要删除字符 c将字符串 str 中出现的所有字符 c 不区分大小写删除。提示去掉输入的字符串或字符两端的空格。输入格式:第一行中输入一行字符串str第二行输入待删除的字符 c。输出格式:在一行内输出删除指定字符c后的字符串。形式为result: *****。输入样例1:7!jdk*!ASyu!输出样例1:result: 7jdk*ASyu输入样例2:BeeE输出样例2result: B实现代码sinput().strip() cinput().strip().upper() ss for i in s: if i.upper()!c: ssi print(fresult: {ss})7-5 sdut-逆序的N位数分数 10作者 周雪芹单位 山东理工大学读入一个正整数介于0与9223372036854775807之间前后可能有空白字符—空格或者Tab字符位数不限然后输出按位逆序的数字。注意当输入的数字含有结尾的0时输出不应带有前导的0。比如输入700输出7。输入格式:输入一个正整数。输出格式:输出按位逆序的数。输入样例1:123456789输出样例1:987654321输入样例2:10000000输出样例2:1输入样例3:0000000输出样例3:0实现代码sinput().strip() print(int(s[::-1]))7-6 sdut-输出字符串中最大字符及其索引位置分数 10作者 周雪芹单位 山东理工大学输入字符串排序后输出最大字符及该字符在原字符串中的索引。相同字符的索引取最大值。输入格式:一行输入字符串。输出格式:在一行内输出最大字符及其最大索引位置。字符和数字间有3个空格。输入样例1:Hello Python输出样例1:y 7输入样例2:HELLO EVERYONE YEAR 2021输出样例2:Y 15实现代码sinput() xmax(s) nlen(s) print(f{x} {n-1-s[::-1].index(x)})7-7 sdut-计算多个字符串中最长的字符串长度分数 10作者 周雪芹单位 山东理工大学有n(1n10)个字符串计算最长的字符串的长度。注意前导空格不计算在内输入格式:在第一行中输入n接下的每行输入一个字符串。输出格式:在一行中输出最长的字符串的长度形式为length?。输入样例:4blueyellowredgreen输出样例:length6实现代码nint(input()) sum0 while n: n-1 sinput().strip() summax(sum,len(s)) print(flength{sum})7-8 sdut-十进制数转换成二进制后1和0的个数分数 10作者 周雪芹单位 山东理工大学输入一个非负整数求它变成二进制后1和0的个数。PYTHON实现提示用bin函数转换为二进制数前缀0b不在统计范围内。输入格式:输入一个十进制的正整数。输出格式:输出二进制数中1和0的个数。中间用1个空格分开。输入样例1:37输出样例1:3 3输入样例2:0输出样例2:0 1实现代码nint(input()) xbin(n)[2::] print(x.count(1),x.count(0))7-9 sdut-整数的二进制相加分数 10作者 周雪芹单位 山东理工大学输入两个整数大小在[0,63]之间。求它们的和对二进制形式展示数据。二进制用8位表示。输入格式:在一行输入一个十进制整数在第二行输入另一个十进制整数。输出格式:求它们和并输出数据的二进制形式。输入样例:57输出样例:0000010100000111--------00001100实现代码xint(input()) yint(input()) a1bin(x)[2::] a2bin(y)[2::] a3bin(xy)[2::] print(%08d %int(a1)) print(%08d %int(a2)) print(--------) print(%08d %int(a3))7-10 sdut-汉明距离分数 10作者 周雪芹单位 山东理工大学两个整数间的汉明距离指的是这两个数对应二进制位不同的位置的数目。输入两个整数x,y, 0x,y231 。输出x,y的汉明距离。输入格式:在一行输入x,y中间有一个空格。输出格式:在一行内 输出x与y的汉明距离。输入样例:1 4输出样例:在这里给出相应的输出。例如2实现代码x,ymap(int,input().split()) print(bin(x^y)[2::].count(1))7-11 sdut-输出一个字符串的字符的16-10-8-2进制数分数 10作者 周雪芹单位 山东理工大学输入一行字符串去掉非16进制字符将它转换成16、10、8、2进制数输出。输入格式:输入一行字符串。输出格式:输出转换后的16、10、8、2进制数。数据之间有1个空格。16进制字母小写输入样例:_ahg1*B输出样例:a1b 2587 5033 101000011011实现代码s0123456789abcdefABCDEF cinput() ss for i in c: if i in s: ssi.lower() x1int(ss,16) x2oct(x1)[2::] x3bin(x1)[2::] print(ss,x1,x2,x3)7-12 sdut-显示数字出现次数分数 10作者 周雪芹单位 山东理工大学输入一个十进制正整数转换成16进制数。再输入一个数(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,统计这个数出现的次数。提示通过hex()函数转换为十六进制数十六进制数的前缀0X不在统计范围内。输入格式:第一行输入十进制正整数n1。第二行输入要统计的数n2。输出格式:输出n2在数值n1所对应的16进制数值中出现的次数。输入样例1:841175128输出样例1:3输入样例2:46883310e输出样例2:2实现代码xint(input()) cinput() yhex(x)[2::] print(y.count(c))
sdut-python-实验三-字符串
7-1 sdut-字符串排序分数 10作者 周雪芹单位 山东理工大学一行内输入N个字符串按字典序从小到大进行排序后输出。输入格式:输入数据有一行分别为N个字符串用空格分隔每个字符串长度不超过100。输出格式:输出排序后的字符串用空格分隔。输入样例:abcd cdef bcde 21321321 adfakf hello python regex输出样例:21321321 abcd adfakf bcde cdef hello python reg实现代码llist(input().split()) l.sort() print(*l,sep )7-2 sdut-字符之比较大小分数 10作者 周雪芹单位 山东理工大学输入3个不同整数,这3个整数分别对应3个字母的ASCII码值把这3个字母按它的ASCII码值从小到大输出。输入格式:输入在一行中给出3个整数其间以空格分隔。输出格式:在一行中将3个字母按ASCII码值从小到大输出其间以“”相连。输入样例:97 65 100输出样例:Aad实现代码nums[chr(int(num)) for num in input().split()] nums.sort() print(*nums,sep)7-3 sdut-判断回文字符串分数 10作者 周雪芹单位 山东理工大学回文就是字符串中心对称从左向右读和从右向左读的内容是一样的。输入一个字符串判断该字符串是否为回文只考虑数字和字母字符字母的大小写没有区别。输入格式:输入一个字符串。输出格式:判断字符串是否为回文若是则在一行内输出yes否则输出no。输入样例:A man,a plan; cnalPanama输出样例:yes实现代码nums[num for num in input().upper() if num.isalpha()] if numsnums[::-1]: print(yes) else: print(no)7-4 sdut-删除字符分数 10作者 周雪芹单位 山东理工大学输入一个字符串 str和要删除字符 c将字符串 str 中出现的所有字符 c 不区分大小写删除。提示去掉输入的字符串或字符两端的空格。输入格式:第一行中输入一行字符串str第二行输入待删除的字符 c。输出格式:在一行内输出删除指定字符c后的字符串。形式为result: *****。输入样例1:7!jdk*!ASyu!输出样例1:result: 7jdk*ASyu输入样例2:BeeE输出样例2result: B实现代码sinput().strip() cinput().strip().upper() ss for i in s: if i.upper()!c: ssi print(fresult: {ss})7-5 sdut-逆序的N位数分数 10作者 周雪芹单位 山东理工大学读入一个正整数介于0与9223372036854775807之间前后可能有空白字符—空格或者Tab字符位数不限然后输出按位逆序的数字。注意当输入的数字含有结尾的0时输出不应带有前导的0。比如输入700输出7。输入格式:输入一个正整数。输出格式:输出按位逆序的数。输入样例1:123456789输出样例1:987654321输入样例2:10000000输出样例2:1输入样例3:0000000输出样例3:0实现代码sinput().strip() print(int(s[::-1]))7-6 sdut-输出字符串中最大字符及其索引位置分数 10作者 周雪芹单位 山东理工大学输入字符串排序后输出最大字符及该字符在原字符串中的索引。相同字符的索引取最大值。输入格式:一行输入字符串。输出格式:在一行内输出最大字符及其最大索引位置。字符和数字间有3个空格。输入样例1:Hello Python输出样例1:y 7输入样例2:HELLO EVERYONE YEAR 2021输出样例2:Y 15实现代码sinput() xmax(s) nlen(s) print(f{x} {n-1-s[::-1].index(x)})7-7 sdut-计算多个字符串中最长的字符串长度分数 10作者 周雪芹单位 山东理工大学有n(1n10)个字符串计算最长的字符串的长度。注意前导空格不计算在内输入格式:在第一行中输入n接下的每行输入一个字符串。输出格式:在一行中输出最长的字符串的长度形式为length?。输入样例:4blueyellowredgreen输出样例:length6实现代码nint(input()) sum0 while n: n-1 sinput().strip() summax(sum,len(s)) print(flength{sum})7-8 sdut-十进制数转换成二进制后1和0的个数分数 10作者 周雪芹单位 山东理工大学输入一个非负整数求它变成二进制后1和0的个数。PYTHON实现提示用bin函数转换为二进制数前缀0b不在统计范围内。输入格式:输入一个十进制的正整数。输出格式:输出二进制数中1和0的个数。中间用1个空格分开。输入样例1:37输出样例1:3 3输入样例2:0输出样例2:0 1实现代码nint(input()) xbin(n)[2::] print(x.count(1),x.count(0))7-9 sdut-整数的二进制相加分数 10作者 周雪芹单位 山东理工大学输入两个整数大小在[0,63]之间。求它们的和对二进制形式展示数据。二进制用8位表示。输入格式:在一行输入一个十进制整数在第二行输入另一个十进制整数。输出格式:求它们和并输出数据的二进制形式。输入样例:57输出样例:0000010100000111--------00001100实现代码xint(input()) yint(input()) a1bin(x)[2::] a2bin(y)[2::] a3bin(xy)[2::] print(%08d %int(a1)) print(%08d %int(a2)) print(--------) print(%08d %int(a3))7-10 sdut-汉明距离分数 10作者 周雪芹单位 山东理工大学两个整数间的汉明距离指的是这两个数对应二进制位不同的位置的数目。输入两个整数x,y, 0x,y231 。输出x,y的汉明距离。输入格式:在一行输入x,y中间有一个空格。输出格式:在一行内 输出x与y的汉明距离。输入样例:1 4输出样例:在这里给出相应的输出。例如2实现代码x,ymap(int,input().split()) print(bin(x^y)[2::].count(1))7-11 sdut-输出一个字符串的字符的16-10-8-2进制数分数 10作者 周雪芹单位 山东理工大学输入一行字符串去掉非16进制字符将它转换成16、10、8、2进制数输出。输入格式:输入一行字符串。输出格式:输出转换后的16、10、8、2进制数。数据之间有1个空格。16进制字母小写输入样例:_ahg1*B输出样例:a1b 2587 5033 101000011011实现代码s0123456789abcdefABCDEF cinput() ss for i in c: if i in s: ssi.lower() x1int(ss,16) x2oct(x1)[2::] x3bin(x1)[2::] print(ss,x1,x2,x3)7-12 sdut-显示数字出现次数分数 10作者 周雪芹单位 山东理工大学输入一个十进制正整数转换成16进制数。再输入一个数(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,统计这个数出现的次数。提示通过hex()函数转换为十六进制数十六进制数的前缀0X不在统计范围内。输入格式:第一行输入十进制正整数n1。第二行输入要统计的数n2。输出格式:输出n2在数值n1所对应的16进制数值中出现的次数。输入样例1:841175128输出样例1:3输入样例2:46883310e输出样例2:2实现代码xint(input()) cinput() yhex(x)[2::] print(y.count(c))