值得收藏的30道Python练手题(附详解)转载

原创
小哥 3年前 (2022-10-16) 阅读数 48 #大杂烩

今天我与你分享今天,我想与你分享30道Python对于练习题,我们建议您在检查答案之前独立思考解决方案。

1. 已知的字符串是已知的字符串,因为已知的字符串是 “hello_world_yoyo《如何排队》和《如何排队》 [“hello”,”world”,”yoyo”] ?

使用 split 拆分字符串并将数据转换为列表类型的函数。

test = hello_world_yoyo
print(test.split("_"))
12

结果:

[hello, world, yoyo]

2. 有个列表 [“hello”, “world”, “yoyo”]如何连接列表中的字符串以获取字符串 “hello_world_yoyo”?

使用 join 函数将数据转换为字符串。函数将数据转换为字符串。函数将数据转换为字符串。函数将数据转换为字符串。

test = ["hello", "world", "yoyo"]
print("_".join(test))

结果:

hello_world_yoyo

如果不依赖如果你不依赖如果不依赖如果它不依赖 python 提供的 join 方法,还可以通过该方法,还可以通过该方法,还可以使用 for 循环,然后将字符串拼接在一起,但在使用“+“连接字符串时,结果将使用 join 结果只是将原始列表的元素拼接在一起,因此 join 这样效率更高。它的效率更高。效率更高。效率更高。

for 环路按如下方式拼接。环形拼接如下所示。环路拼接如下。环形接头如下所示。

test = ["hello", "world", "yoyo"]
# 定义空字符串定义空字符串定义空字符串
j = 
# 通过 for 循环打印列表中的数据循环打印列表中的数据
for i in test:
    j = j + "_" + i
# 因为通过上面的字符串拼接,获得的数据是“_hello_world_yoyo“,则前面将附加下划线。_所以去掉下划线,去掉下划线,去掉下划线
print(j.lstrip("_"))

3. 把字符串 s 替换“替换”中的每个空格“替换”中的每个空格%20“,回车。”,键入。s = “We are happy.,输出:“”,输出:“We%20are%20happy.”。

使用 replace 函数,将字符替换为以下字符。函数中,将字符替换为。

s = We are happy.
print(s.replace( , %20))
12

结果:

We%20are%20happy.

4. Python 如何打印 99 乘法表?

for 循环印刷。循环印花。循环打印。反复出现的指纹。

for i in range(1, 10):
    for j in range(1, i+1):
        print({}x{}={}  .format(j, i, i*j), end=)
    print()

while 循环实现。循环实现。

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print("%d*%d=%-2d"%(i,j,i*j),end =  )  # %d: 用于整数的占位符。整数的占位符。整数的占位符。对于整数的占位符,-2代表左对齐,两个占位符代表左对齐,两个占位符代表左对齐,两个占位符
        j += 1
    print()
    i += 1

结果:

1x1=1 
1x2=2 2x2=4 
1x3=3 2x3=6 3x3=9 
1x4=4 2x4=8 3x4=12 4x4=16 
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

5. 从下标 0 开始索引并查找单词开始索引并查找单词开始索引并查找单词 “welcome” 在字符串“The Strong”中Hello, welcome to my world.” 中显示的位置 -1。

def test():
    message = Hello, welcome to my world.
    world = welcome
    if world in message:
        return message.find(world)
    else:
        return -1

print(test())

结果:
7

6. 统计字符串“统计字符串”统计字符串“Hello, welcome to my world.” 中字母 w 出现的次数。出现的次数。发生了。

def test():
    message = Hello, welcome to my world.
    # 计数
    num = 0
    # for 循环 message
    for i in message:
        # 判断如果 ‘w’ 字符串在 message 中,则 num +1
        if w in i:
            num += 1
    return num

print(test())

# 结果
2

7. 输入字符串输入字符串输入字符串 str,输出第 m 只有一个出现过,只有一个出现过,只有一个出现过 n 将字符相乘,如字符串中的字符与字符相乘,如字符串中的 gbgkkdehh In,找到in中的第一个,识别第一个 2 个只出现 1 将字符相乘,输出结果。d

def test(str_test, num, counts):
    """
    :param str_test: 字符串
    :param num: 字符串出现的次数字符串出现的次数字符串出现的次数
    :param count: 字符串首次出现的次数字符串出现的次数字符串出现的次数
    :return:
    """
    # 定义一个空数组来保存逻辑处理后的数据
    list = []

    # for循环字符串的数据循环字符串数据循环字符串的数据
    for i in str_test:
        # 使用 count 计算所有字符串出现次数的函数字符串出现的次数字符串出现的次数
        count = str_test.count(i, 0, len(str_test))

        # 判断串确定串判断串出现的次数字符串出现的次数字符串出现的次数与设置的counts相同的次数,数据存储在list数组中
        if count == num:
            list.append(i)

    # 返回第n字符串子出现字符串
    return list[counts-1]

print(test(gbgkkdehh, 1, 2))

结果:
d

8. 判断串确定串判断串 a = “welcome to my world” 是否包含单词是否包含单词 b = “world包含Return“,包含Return”,包含Return of“,包含 True不包含不包括的返回的返回的 False。

def test():
    message = welcome to my world
    world = world

    if world in message:
        return True
    return False

print(test())

结果:
True

9. 从 0 开始计数并输出指定字符串开始计数并输出指定字符串开始计数,输出指定字符串开始计数,输出指定字符串开始计数并输出指定字符串开始计数,输出指定字符串开始计数,输出指定字符串 A = “hello” 在字符串 B = “hi how are you hello world, hello yoyo!“第一次出现在 B 中不包含 A,则输出 -1。

def test():
    message = hi how are you hello world, hello yoyo!
    world = hello

    return message.find(world)

print(test())

结果:
15

10. 从 0 开始计数并输出指定字符串开始计数并输出指定字符串开始计数,输出指定字符串开始计数,输出指定字符串开始计数并输出指定字符串开始计数,输出指定字符串开始计数,输出指定字符串 A = “hello在字符串中“在字符串中”字符串 B = “hi how are you hello world, hello yoyo!出现在“If”中的最后一个位置 B 中不包含 A,则输出 -1。

def test(string, str):
    # 定义 last_position 初始值为 -1
    last_position = -1
    while True:
        position = string.find(str, last_position+1)
        if position == -1:
            return last_position
        last_position = position

print(test(hi how are you hello world, hello yoyo!, hello))

结果:
28

11. 给出一个数字给一个数字给一个数字 a,确定数字是奇数还是偶数。,确定数字是奇数还是偶数。,确定数字是奇数还是偶数。,确定数字是奇数还是偶数。

while True:
    try:
        # 确定输入是否为整数确定输入是否为整数确定输入是否为整数
        num = int(input(输入一个整数。输入一个整数。输入一个整数。))
    # 非纯数字需要重新输入非纯数字需要重新输入非纯数字需要重新输入
    except ValueError: 
        print("输入不是整数!输入不是整数!输入不是整数!输入不是整数!")
        continue
    if num % 2 == 0:
        print(偶数)
    else:
        print(奇数)
    break

结果:
输入一个整数。输入一个整数。输入一个整数。100
偶数

12. 输入姓名以确定姓氏是否为王。

def test():
    user_input = input("请输入您的姓名。请按如下方式输入您的姓名。请输入您的姓名为")

    if user_input[0] == 王:
        return "用户姓王"

    return "用户不姓王用户名不姓王用户名不姓王"

print(test())

结果:
请输入您的姓名。请按如下方式输入您的姓名。请输入您的姓名为王总
用户姓王

13. 如何确定字符串是否由纯数字组成?

利用 Python 提供的类型转换将用户输入转换为浮点类型,如果转换引发异常,则确定数字不是由纯数字组成。

def test(num):
    try:
        return float(num)
    except ValueError:
        return "请输入数字请输入数字"

print(test(133w3))

14. 将字符串 a = “This is string example….wow!” 全部转换为大写,字符串全部转换为大写,字符串全部转换为大写,字符串 b = “Welcome To My World” 全部转换为小写。全部转换为小写。将它们全部转换为小写。将它们全部转换为小写。

a = This is string example….wow!
b = Welcome To My World

print(a.upper())
print(b.lower())

15. 将字符串 a = “ welcome to my world “删除第一个和最后一个空格”删除“第一个和最后一个空格”删除第一个和最后一个空格

Python 提供了strip() 方法,该方法删除第一个和最后一个空格,因此rstrip() 删除尾随空格。删除尾随空格。lstrip() 删除初始空格。删除开头的空格。replace(" ", “”) 删除所有空格。删除所有空格。

a =   welcome to my world   
print(a.strip())

这也可以通过以下方式递归实现。它也可以通过以下方式递归实现。

def trim(s):
    flag = 0
    if s[:1]== :
        s = s[1:]
        flag = 1
    if s[-1:] ==  :
        s = s[:-1]
        flag = 1
    if flag==1:
        return    trim(s)
    else:
        return s
print(trim(  Hello world!  ))

通过 while 循环实现。循环实现。

def trim(s):
    while(True):
        flag = 0
        if s[:1]== :
            s = s[1:]
            flag = 1
        if s[-1:] ==  :
            s = s[:-1]
            flag = 1
        if flag==0:
            break
    return s
print(trim(  Hello world!  ))

16. 将字符串 s = “ajldjlajfdljfddd、重复数据消除并按从小到大的顺序对输出进行排序adfjl”。

def test():
    s = ajldjlajfdljfddd
    # 定义保存数据的数组定义存储数据的数组定义保存数据的数组
    str_list = []
    # for循环s数据,然后将数据添加到数组中
    for i in s:
        # 确定该字符串是否已存在于数组中,然后删除该字符串并添加一个新字符串
        if i in str_list:
            str_list.remove(i)

        str_list.append(i)
    # 使用 sorted 方法,对Letters方法进行排序,以对字母进行排序的Letters方法
    a = sorted(str_list)
    # sorted方法返回一个列表,本端将该列表数据转换为字符串
    return "".join(a)

print(test())

结果:
adfjl

17. 打印出以下图案(钻石形状)打印出以下图案(钻石)打印出以下图案(钻石):

def test():
    n = 8
    for i in range(-int(n/2), int(n/2) + 1):
        print(" "*abs(i), "*"*abs(n-abs(i)*2))

print(test())

结果:
    **
   ****
  ******
 ********
  ******
   ****
    **

18.  给不超过一 5 按位正整数(例如,位的正整数(例如,按位正整数(例如,按位正整数 a = 12346),找出它有多少位数,并以相反的顺序打印出来。

class Test:

    # 计算位数计算位数计算数字的位数
    def test_num(self, num):
        try:
            # 定义一个 length 变量来计算数字的长度变量来计算数字的长度变量来计算数字的长度
            length = 0
            while num != 0:
                # 判断当 num 不为 0 然后将每个时间除以每个时间除以10取整
                length += 1
                num = int(num) // 10
            if length > 5:
                return "请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字"
            return length
        except ValueError:
            return "请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字"

    # 按逆序打印单位数
    def test_sorted(self, num):
        if self.test_num(num) != "请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字请输入正确的数字":
            # 逆序打印数字逆序打印逆序打印数字逆序打印数字
            sorted_num = num[::-1]
            # 以逆序返回数字返回数字的逆序
            return sorted_num[-1]

print(Test().test_sorted(12346))

结果:
1

19. 如果一个 3 如果位数等于其位数的立方和,则该数称为水仙数。举例说明。153 = 13 + 53 + 33,因此 153 这是一朵水仙花。那么,如何找到 1000 水仙花的数量(水仙花的数量)3 位数)。

def test():
    for num in range(100, 1000):
        i = num // 100
        j = num // 10 % 10
        k = num % 10
        if i ** 3 + j ** 3 + k ** 3 == num:
            print(str(num) + "是水仙花的数量是水仙花的数量")

test()

20. 求 1+2+3…+100 总和。总和。

i = 1
for j in range(101):
    i = j + i

print(i)

结果:
5051

21. 计算 1-2+3-4+5-…-100 的值。

def test(sum_to):
    
    # 定义初始值定义初始值定义初始值
    sum_all = 0
    # 循环要计算的数据循环要计算的数据
    for i in range(1, sum_to + 1):
        sum_all += i * (-1) ** (1 + i)
    return sum_all

if __name__ == __main__:
    result = test(sum_to=100)
    print(result)

-50

22. 现有计算公式现有计算公式可用的计算公式 13 + 23 + 33 + 43 + …….+ n3以及如何实现:何时输入如何实现:何时输入以及如何实现:何时输入如何实现 n = 5 时,输出 225(对应公式(对应方程式(对应方程式 : 13 + 23 + 33 + 43 + 53 = 225)。

def test(n):
    sum = 0
    for i in range(1, n+1):
        sum += i*10+i
    return sum

print(test(5))

结果:
225

23. 已知 a 的值为“hello”,b 的值为“world如何交换“以及如何交换”,如何交换 a 和 b 求…的值,求…的值 a 的值为“world”,b 的值为”hello”?

a = hello
b = world

c = a
a = b
b = c
print(a, b)

24. 如何确定数组是否为对称数组?如何确定数组是否对称?如何判断数组是否对称?

例如 [1,2,0,2,1],[1,2,3,3,2,1]这样的阵列是对称阵列。vbl.使用 Python 判断,是对称数组打印判断,对称数组打印判断,是对称数组打印判断,是对称数组打印 True,不打印,不打印不打印 False。

def test():
    x = [1, a, 0, 2, 0, a, 1]
    # 使用下标以逆序比较字符串
    if x == x[::-1]:
        return True
    return False

print(test())

结果:
True

25. 如果有列表如果有列表是否有列表可用 a = [1,3,5,7,11],那么如何将其反转为,如何将其反转为 [11,7,5,3,1]获取奇数位数值个数,取奇数位数值个数,得到奇数位数值个数 [1,5,11]?

def test():
    a = [1, 3, 5, 7, 11]
    # 逆序打印数组中的数据逆序打印数组中的数据逆序打印数组中的数据
    print(a[::-1])
    # 定义计数变量定义计数变量
    count = 0
    for i in a:
        # 每周期判断列表中的一个数据,则计数器将 +1
        count += 1
        # 如果计数器是奇数,则打印它;如果计数器是奇数,则打印它;如果计数器是奇数,则打印它,打印输出
        if count % 2 != 0:
            print(i)

test()

结果:
[11, 7, 5, 3, 1]
1
5
11

26. 对列表 a = [1, 6, 8, 11, 9, 1, 8, 6, 8, 7, 8] 列表中的数字从小到大排序。

a = [1, 6, 8, 11, 9, 1, 8, 6, 8, 7, 8]
print(sorted(a))

结果:
[1, 1, 6, 6, 7, 8, 8, 8, 8, 9, 11]

27. 找出列表 L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88] 中的最大值和最小值。

L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88]
print(max(L1))
print(min(L1))

结果:
88
1

上面是通过上面做的,上面是通过上面做的,上面是通过 Python 如下所示的自含式函数实现允许您编写自己的计算程序。

class Test(object):

    def __init__(self):
        # 用于测试的测试列表数据的列表数据
        self.L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88]

        # 获取列表中的第一个值,用于数据大小比较
        self.num = self.L1[0]

    def test_small_num(self, count):
        """

        :param count: count为 1,则指示最大值的计算方式为 2 当When表示最小值时,表示最小值
        :return:
        """
        # for 遍历列表中的数据遍历列表中的数据
        for i in self.L1:
            if count == 1:
                # 循环以确定数组中的数据何时小于初始值,然后替换初始值
                if i > self.num:
                    self.num = i
            
            elif count == 2:
                if i < self.num:
                    self.num = i
                    
            elif count != 1 or count != 2:
                return "请输入正确的数据请输入正确的数据"

        return self.num

print(Test().test_small_num(1))
print(Test().test_small_num(2))
结果:
88
1

28. 找出列表 a = [“hello”, “world”, “yoyo”, “congratulations”] 列表中最长的单词。

def test():
    a = ["hello", "world", "yoyo", "congratulations"]
    
    # 计算数组中第一个值的长度
    length = len(a[0])
    
    for i in a:
        # 当数组中的数据大于初始值时,循环访问数组中的数据length在Long的值中,然后将length的默认值
        if len(i) > length:
            length = i
    return length

print(test())

结果:
congratulations

29. 取出列表 L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88] 中的三个最大值

def test():
    L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88]
    return sorted(L1)[:3]

print(test())

结果:
[1, 2, 2]

30. 把列表 a = [1, -6, 2, -5, 9, 4, 20, -3] 中的数字的绝对值。

def test():
    a = [1, -6, 2, -5, 9, 4, 20, -3]
    # 定义一个保存处理后的绝对值数据的数组
    lists = []
    for i in a:
     # 使用 abs() 方法处理绝对值处理绝对值的方法处理绝对值的方法该方法处理绝对值
        lists.append(abs(i))
    return lists

print(test())

结果:
[1, 6, 2, 5, 9, 4, 20, 3]

转自:Python专栏

推荐阅读:
入门: 最完整的零基学习最全面的零基学习最完整的零基学习Python的问题  | 从零开始学习从零基础学习从零基础学习8个月的Python  | 实战项目 |学Python这是捷径这是捷径就是这条捷径
干货:爬行豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析最佳球员分析 |   从万众期待到口碑惨败!唐探3令人失望  | 笑新伊田图龙记笑新伊田图龙记笑新伊田图龙记 | 谜语之王回答灯谜之王灯谜之王谜语之王 |用Python人山人海素描图人山人海素描图人山人海 Dishonor太火了,我用机器学习做了一个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python日常酷跑游戏日常酷跑游戏日常酷跑游戏!
AI: 会写诗的机器人会写诗的机器人会写诗的机器人 | 给图片上色给图片上色给图片上色 | 预测收入 | 《耻辱》太火了,我用机器学习做了一部迷你推荐系统电影
小工具: Pdf转Word易于修复表单和水印!易于处理的表单和水印!轻松修复桌子和水印!易于修复的形式和水印! | 一键把html将页面另存为网页另存为网页另存为pdf!|  再见PDF提款费!提款费!提款费!提款费用! | 用90构建最强大的代码行构建最强大的代码行构建最强大的代码行PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一个固定的低成本机票提醒!制作一张别针的低价机票提醒! |60代码行做了一个语音墙纸切换,天天见女士!

年度弹出文案年度弹出文案年度爆炸性文案

  • 1). 卧槽!Pdf转Word用Python轻松搞定 !

  • 2).学Python闻起来好香!我用100一行代码做了一个网站,帮助人们做了一行代码,做了一个网站,帮助了人们做了一行代码,帮助了人们PS旅行图片赚鸡腿吃旅行图片赚鸡腿

  • 3).第一次播放量过亿,火爆全网,我分析了《波妹》,发现了这些秘密

  • 4). 80一行行代码!使用Python让救济金做正确的事做做的人做好事的人A梦分身

  • 5).你必须掌握的东西你必须掌握20个python代码,简短而紧凑,永无止境的有用代码,简短而甜蜜,永无止境的有用的代码,简短而紧凑,永无止境的使用代码,简短而甜蜜,永无止境的用途

  • 6). 30个Python古怪技能集古怪小贴士收藏古怪技能集

  • 7). 我总结的80《菜鸟学习专页》《菜鸟学习专页》《菜鸟学习》Python精选干货.pdf》,都是干货

  • 8). 再见Python!我要学Go了!2500词深度分析词深度分析词深度分析 !

  • 9).发现一只舔狗的福利!这Python爬虫神器太酷了,不能自动下载女孩的照片

点击阅读原文点击查看点击点击阅读点击阅读原文点击查看B放我鸽子看录像!站在我的录像带上!在视频里放我鸽子!站在我的录像带上!

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门