正文
本文已参与「新人创作礼」活动,一起开启掘金创作之路。为了掘金官方的奖品,冲冲冲,继续更新python练习题。
题目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