python练习题(11)

155 阅读2分钟

正文

本文已参与「新人创作礼」活动,一起开启掘金创作之路。为了掘金官方的奖品,冲冲冲,继续更新python练习题。

题目1

  1. 题目 给一个不多于5位的正整数,要求:
    一、求它是几位数,
    二、逆序打印出各位数字。
    a = 12345

    代码如下:

    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
    
        Process finished with exit code 0
    

题目2

  • 统计在一个队列中的数字,有多少个正数,多少个负数,如[1, 3, 5, 7, 0, -1, -9, -4, -5, 8]

具体代码如下所示:

def test():

lists = [1, 3, 5, 7, 0, -1, -9, -4, -5, 8]

# 定义一个变量,计算正数
positive_num = 0
# 计算负数
negative_num = 0

for i in lists:
    # 判断循环数组中的数据大于0,则正数会+1
    if i > 0:
        negative_num += 1
    
    # 因为 0 既不是正数也不是负数,所以我们判断小于0为负数
    elif i < 0:
        positive_num += 1 

return positive_num, negative_num


print(test())

结果:
(4, 5)

Process finished with exit code 0

其实大家也可以反过来思考一下统计负数,不同的人有不同的代码风格,答案并不唯一。

题目三

给定一个整数数组A及它的大小n,同时给定要查找的元素val, 请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。 若该元素出现多次请返回第一个找到的位置 如 A1=[1, “aa”, 2, “bb”, “val”, 33] 或 A2 = [1, “aa”, 2, “bb”] 本题目摘自:原文链接:blog.csdn.net/weixin_4386…

代码如下:

def test(lists, string):
   """

   :param lists: 数组
   :param string: 查找的字符串
   :return: 
   """

    判断字符串不再数组中,返回-1
   if string not in lists:
      return -1

   count = 0
    获取字符串当前所在的位置
   for i in lists:
      count += 1
      if i == string:
         return count - 1


print(test([1, "aa", "val",  2, "bb", "val", 33], 'val'))

结果:
2

Process finished with exit code 0