自动化面试常见算法题!

本文详细介绍了Python中的一些基础编程技巧,包括数字反转、队列操作、阶乘计算、数字类比(阶层之和、完全数、水仙花数和回文数)、斐波那契数列生成、统计3在一定范围内的出现次数、冒泡排序与二分法查找以及快速排序算法的实现。
摘要由CSDN通过智能技术生成

1、实现一个数字的反转,比如输入12345,输出54321

num = 12345
num_str = str(num)
reversed_num_str = num_str[::-1]
reversed_num = int(reversed_num_str)
print(reversed_num)  # 输出 54321
  • 代码解析:首先将输入的数字转换为字符串,然后使用切片操作将字符串反转,最后再将反转后的字符串转换回数字类型。

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

nums = [1, 3, 5, 7, 0, -1, -9, -4, -5, 8]
positive_count = 0
negative_count = 0

for num in nums:
    if num > 0:
        positive_count += 1
    elif num < 0:
        negative_count += 1

print(f"正数数量:{positive_count},负数数量:{negative_count}")
  • 代码解析:首先定义了一个数字列表 nums,然后用变量 positive_count和negative_count 分别记录其中的正数和负数数量。循环遍历这个列表,对于每个数字,如果它是正数则正数数量加一,否则如果是负数则负数数量加一。最后输出正数和负数数量的统计结果。

3、一个数的阶乘运算,求结果,如求5的阶乘结果。

n = 5  # 求 5 的阶乘
factorial = 1  # 阶乘的初始值为 1

for i in range(1, n+1):
    factorial *= i  # 依次乘以 1, 2, 3, ..., n

print(factorial)  # 输出 120
  • 代码解析:首先定义了待求阶乘的数 n,然后将阶乘的初始值设为 1。在循环中,使用 range(1, n+1) 来遍历 1 到 n 这n个数的值。对于每个数,用 factorial 依次乘以它,最终得到的结果即为阶乘。最后输出结果

4、1加到N的阶层之和,比如N=4, result = (1! + 2! + 3! + 4!)

n = 4
factorial_sum = 0  # 1到N的阶层之和
result = 0  # 最终的结果

# 循环计算1到N的阶层之和
for i in range(1, n+1):
    factorial = 1  # 用来记录i的阶层
    for j in range(1, i+1):
        factorial *= j
    factorial_sum += factorial

# 累加到结果中
result += factorial_sum

print(result)  # 输出 33
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢软测的小北葵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值