SDUT—Python程序设计实验四(字符串)

这篇具有很好参考价值的文章主要介绍了SDUT—Python程序设计实验四(字符串)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如果你对Python中字符串的使用还不是很熟悉,这篇文章也许会提供一些帮助:
Python数据容器之字符串(str)

7-1 sdut-字符串排序

一行内输入N个字符串,按字典序从小到大进行排序后输出。

输入格式:
输入数据有一行,分别为N个字符串,用空格分隔,每个字符串长度不超过100。

输出格式:
输出排序后的字符串,用空格分隔。

输入样例:

abcd cdef bcde 21321321 adfakf hello python regex

输出样例:

21321321 abcd adfakf bcde cdef hello python regex

代码:

ls = list(input().split())
ls.sort()
print(*ls,sep=' ')

7-2 sdut-字符之比较大小

输入3个不同整数,这3个整数分别对应3个字母的ASCII码值,把这3个字母按它的ASCII码值从小到大输出。

输入格式:
输入在一行中给出3个整数,其间以空格分隔。

输出格式:
在一行中将3个字母按ASCII码值从小到大输出,其间以“<”相连。

输入样例:

97 65 100

输出样例:

A<a<d

代码:

ls = [chr(int(c)) for c in input().split()]
ls.sort()
print(*ls, sep='<')

7-3 sdut-判断回文字符串

回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。

输入一个字符串,判断该字符串是否为回文,只考虑数字和字母字符,字母的大小写没有区别。

输入格式:
输入一个字符串。

输出格式:
判断字符串是否为回文,若是,则在一行内输出yes,否则输出no。

输入样例:

A man,a plan; cnalPanama

输出样例:

yes

代码:

s = [c for c in input().upper() if c.isalnum()]
if s == s[::-1]:
    print("yes")
else:
    print("no")

7-4 sdut-删除字符

输入一个字符串 str,和要删除字符 c,将字符串 str 中出现的所有字符 c (不区分大小写)删除。
提示:去掉输入的字符串或字符两端的空格。

输入格式:
第一行中输入一行字符串str;
第二行输入待删除的字符 c。

输出格式:
在一行内输出删除指定字符c后的字符串。形式为:result: *****。

输入样例1:

  7!jdk*!ASyu  
  !  

输出样例1:

result: 7jdk*ASyu

代码:

s = input().strip()
c = input().strip()
if c.isalpha():
    s = s.replace(c.upper(), '').replace(c.lower(), '')
else:
    s = s.replace(c, '')
print("result: %s" % s)

7-5 sdut-逆序的N位数

读入一个正整数,(介于0与9223372036854775807之间)(前后可能有空白字符—空格或者Tab字符),位数不限,然后输出按位逆序的数字。
注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出7。

输入格式:
输入一个正整数。

输出格式:
输出按位逆序的数。

输入样例1:

     123456789    

输出样例1:

987654321

输入样例2:

10000000     

输出样例2:

1

输入样例3:

    0000000        

输出样例3:

0

代码:

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

7-6 sdut-输出字符串中最大字符及其索引位置

输入字符串,排序后输出最大字符及该字符在原字符串中的索引。

相同字符的索引取最大值。

输入格式:
一行输入字符串。

输出格式:
在一行内输出最大字符及其最大索引位置。字符和数字间有3个空格。

输入样例1:

Hello Python

输出样例1:

y   7

输入样例2:

HELLO EVERYONE YEAR 2021

输出样例2:

Y   15

代码:

ls = list(input())
c = max(ls)
pos = len(ls) - 1 - ls[::-1].index(c)
print("%c   %d" % (c, pos))

7-7 sdut-计算多个字符串中最长的字符串长度

有n(1<n<10)个字符串,计算最长的字符串的长度。
注意:前导空格不计算在内!

输入格式:
在第一行中输入n,接下的每行输入一个字符串。

输出格式:
在一行中输出最长的字符串的长度,形式为:length=?。

输入样例:

4	
        blue
yellow
red
green

输出样例:

length=6

代码:

n, ls = int(input()), []
for i in range(n):
    ls.append(input().strip())
ls.sort(key=len, reverse=True)
print("length=%d" % len(ls[0]))

7-8 sdut-十进制数转换成二进制后1和0的个数

输入一个非负整数,求它变成二进制后1和0的个数。
(PYTHON实现提示:用bin函数)。

输入格式:
输入一个十进制的正整数。

输出格式:
输出二进制数中1和0的个数。中间用1个空格分开。

输入样例1:

37

输出样例1:

3 3

输入样例2:

0

输出样例2:

0 1

代码:

num = int(input())
s = bin(num).lstrip('0')
print(s.count('1'), s.count('0'))

7-9 sdut-整数的二进制相加

输入两个整数,大小在[0,63]之间。求它们的和,对二进制形式展示数据。
二进制用8位表示。

输入格式:
在一行输入一个十进制整数,在第二行输入另一个十进制整数。

输出格式:
求它们和,并输出数据的二进制形式。

输入样例:

5
7

输出样例:

00000101
00000111
--------
00001100

代码:

a = int(input())
b = int(input())
s1 = bin(a)[2::]
s2 = bin(b)[2::]
s3 = bin(a + b)[2::]
print("%08d" % int(s1))
print("%08d" % int(s2))
print('-' * 8)
print("%08d" % int(s3))

7-10 sdut-汉明距离

两个整数间的汉明距离指的是这两个数对应二进制位不同的位置的数目。
输入两个整数x,y, 0<=x,y<=2^31。输出x,y的汉明距离。

输入格式:
在一行输入x,y;中间有一个空格。

输出格式:
在一行内 输出x与y的汉明距离。

输入样例:

1 4

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

2

代码:

def hanming(x, y):
    return bin(x ^ y).count('1')
    
x, y = map(int, input().split())
print(hanming(x, y))

7-11 sdut-输出一个字符串的字符的16-10-8-2进制数

输入一行字符串,去掉非16进制字符,将它转换成16、10、8、2进制数,输出。

输入格式:
输入一行字符串。

输出格式:
输出转换后的16、10、8、2进制数。数据之间有1个空格。(16进制字母小写)

输入样例:

_ahg1*B

输出样例:

a1b 2587 5033 101000011011

代码1:

ls, s1, s2 = list(input()), "0123456789abcdefABCDEF", ""
for c in ls:
    if c in s1:
        s2 += c
num_hex = s2.lower()
num_int = int(num_hex, 16)
num_oct = oct(num_int)[2::]
num_bin = bin(num_int)[2::]
print(num_hex, num_int, num_oct, num_bin)

代码2(正则表达式法,由某位舍友提供):

import re
s = input()
mach = re.findall('[0-9A-Fa-f]', s)
s = "".join(mach)
s = s.lower()
j10 = int(s, 16)
j8 = format(j10, 'o')
j2 = format(j10, 'b')
print("{} {} {} {}".format(s, j10, j8, j2))
# jk2002gyh丨acc丨2022.11.01

7-12 sdut-显示数字出现次数

输入一个十进制正整数,转换成16进制数。
再输入一个数:(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f),统计这个数出现的次数。

输入格式:
第一行输入十进制正整数n1。
第二行输入要统计的数n2。

输出格式:
输出n2在数值n1所对应的16进制数值中出现的次数。

输入样例1:

84117512 
8

输出样例1:

3

输入样例2:

46883310
e

输出样例2:

2

代码:

s = hex(int(input()))
c = input()
print(s.count(c))

因为这学期刚学Python,就当是做个笔记了,代码虽然都能过,但可能不是特别好,有不当的地方欢迎大家指正,感谢大家的耐心阅读
212丨acc丨2022.10.28文章来源地址https://www.toymoban.com/news/detail-404551.html

到了这里,关于SDUT—Python程序设计实验四(字符串)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SDUT-程序设计基础-实验4-for循环(上)

    在开始之前,我想要提醒一下大家,在看完答案和解析以后,一定要自己再写一遍,一味的复制粘贴没有任何效果,当然,再解析中有任何看不懂的内容都可以私信我!! for循环相比while循环,二者不能说谁比谁更好,我们在打代码的过程中,要根据不同的情况选择不同的循

    2024年02月06日
    浏览(48)
  • C语言程序设计:编写函数,统计字符串中数字字符的个数

    题目内容: 编写函数,求给定字符串中数字字符的个数,在主函数中输入字符串及输出统计的个数。 输入格式: %s 输出格式: %d 输入样例: abc123fg 输出样例: 3 时间限制:500ms内存限制:32000kb

    2024年02月11日
    浏览(67)
  • C语言程序设计:删除字符串中的数字

    题目内容: 编程:从键盘上输入一个含有数字的字符串,然后在“原字符串”中删除其中的数字。如输入的字符串为“ab12cd345e”,则处理后的字符串为“abcde”。程序中只能定义一个数组。 提示:所谓删除就是将后面的非数字字符前移,将数字覆盖掉。要注意字符串结束符

    2024年02月04日
    浏览(50)
  • 【编码狂想】LeetCode 字符串和数组篇:挑战算法精髓,深化程序设计基础

    ​ 🌈 个人主页: Sarapines Programmer  🔥 系列专栏: 本期文章收录在《C语言闯关笔记》,大家有兴趣可以浏览和关注,后面将会有更多精彩内容!  ⏰翰墨致赠:翩翩风华激彩虹,豪情壮志醉长空。 剑指星河舞红尘,梦驰烈马向未来。 ​ ​ 🎉欢迎大家关注🔍点赞👍收藏

    2024年02月04日
    浏览(51)
  • Java程序设计——在一个给定的字符串中查找并解析姓名、出生日期、个人网站、身高和体重信息,并输出相应的结果

    当我们分析这段代码时,可以按照代码的逻辑结构进行分段: 获取姓名: 在这个部分,首先使用  indexOf  方法查找冒号的位置。然后,使用  substring  方法将冒号后面的字符串截取出来,得到姓名。接下来,使用  startsWith  方法判断姓名是否以 “张” 开头,如果是则输出

    2024年02月11日
    浏览(42)
  • python程序设计基础 实验三

    ⭐python实验专栏,欢迎订阅与关注! ★观前提示 :本篇内容为python程序设计实验,代码内容经测试没有问题,但是可能会不符合每个人实验的要求,因此以下内容建议仅做思路参考。 一、实验目的 (1)掌握Python各种函数的使用。 二、实验内容 1、编写函数,求三个整数的

    2023年04月13日
    浏览(43)
  • 同济大学Python程序设计基础 实验九:数据可视化

    1.创建一个2行1列的绘图区并在第1行第1列绘制函数f(x)=x2 的曲线图(x的取值范围[-1,1]),在第2行第1列绘制函数f(x)=1/x的曲线图(x的取值范围[0,1]),效果如图2.9.1所示。 2.调用scatter函数绘制正弦函数的曲线,请在曲线中添加一个表示XY的轴线,并在X轴方向输出刻度标记文本,

    2024年02月16日
    浏览(49)
  • 实验五 C语言函数程序设计习题 (使用函数计算两点间的距离,请编写函数fun,使用函数输出字符矩阵,使用函数求最大公约数和最小公倍数)

    1. 使用函数计算两点间的距离:给定平面任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留2位)小数。要求定义和调用dist(x1,y1,x2,y2)计算两点间的距离。坐标中两点坐标之间的距离公式如下: 2. 请编写函数fun,它的功能是计算并输出给定整数n的所有因子(不包括1与自身)

    2024年02月04日
    浏览(54)
  • Java程序设计实验——实验6

    Spraing※boy 在本次实验中,加入了实验中可能遇到的知识点的总结提示和相关知识点的学习链接,个人觉得这次实验在java中的应用还是非常广泛的,在项目的开发中会经常用到,希望各位友友们能通过这篇博客真正学到一些东西❀❀。 附上:java学习笔记 1、将下列数据:“

    2024年02月03日
    浏览(57)
  • C#面向对象程序设计课程实验二: 实验名称:Windows 窗体程序

    (1) 掌握控件 Label、Button、TextBox 的常用属性、方法、事件的基本应用; (2) 掌握控件 RadioButton、CheckBox 的常用属性、方法、事件的基本应用通过简单程 序; (3) 掌握框-架类控件 GroupBox、Panel、TabControl 的基本应用; (4) 掌握控件 ListBox、CombBox 、ListView 的常用属性、方法、事件的

    2024年02月04日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包