招行手撕代码准备

都是面经里曾经出现过的题目

打印100以内的素数:

"""
打印100以内的素数:
素数(质数):一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除。
"""

primenumber = [2]
for i in range(3,101):
    mark = 0# 代表是素数
    for j in primenumber:
        if i%j == 0:
            mark = 1# 代表不是素数
            break
    if mark == 0:
        primenumber.append(i)
print(primenumber)
ans = [str(i) for i in primenumber]
ans = ' '.join(ans)
print(ans)

统计字符串中某个字符串出现的次数

方法1

s = 'pythonabccdpysdpythupython'
print(s.count('python'))

方法2

s = 'pythonabccdpysdpythoupython'
target = 'python'
count = 0

i = 0 # s里面的指针
j = 0 # target里面的指针 
while i <= len(s) - 1:
    while j <= len(target)-1  and i <= len(s)-1:
        if s[i] == target[j]:
            i += 1
            j += 1
        else:
            i += j + 1
            j = 0
            break
    if  j == len(target):
        count += 1
        j = 0
print(count)

你可能感兴趣的:(python)