인터뷰 요약 4 파이썬 펜 질문에 대해

재판 : https://www.cnblogs.com/yoyoketang/p/10082644.html

머리말

이제 시험 면접은 일반적으로 보통 구직자, 두 개의 펜 질문의 기본 능력을 테스트하기 위해, 친숙한 언어 (파이썬 / 자바)가 필요합니다, 이러한 질문은 주로 기본적인 기술에 일반적으로 어렵지 않다.
당신은 디버깅 측면, 모서리 내부 편집기에서별로 어려움을 쓰기, 컴퓨터를 취할 것입니다. 메인은 그렇게 쉬운 일이 아닙니다, 당신에게 펜과 종이를주고 당신이 장면을 쓸 수 있도록하는 것입니다.
(Benpian 코드 python3.6에 기초)

1. 통계

같은 큐 번호, 긍정적 인, 음수의 개수의 통계 [1, 3, 5, 7, 0, -1, -3, -4, -5, 8]

방법 1

# coding:utf-8
a = [1, 3, 5, 7, 0, -1, -9, -4, -5, 8] # 用列表生成式,生成新的列表 b = [i for i in a if i > 0] print("大于0的个数:%s" % len(b)) c = [i for i in a if i < 0] print("小于0的个数:%s" % len(c))

두 번째 방법

# coding:utf-8
a = [1, 3, 5, 7, 0, -1, -9, -4, -5, 8] # 用传统的判断思维,累加 m = 0 n = 0 for i in a: if i > 0: m += 1 elif i < 0: n += 1 else: pass print("大于0的个数:%s" % m) print("小于0的个数:%s" % n)

2. 슬라이스 문자열

문자열 "axbyczdj", 당신은 결과를 얻을 경우 "ABCD"

방법 1

# 字符串切片
a = "axbyczdj"
print(a[::2])

두 번째 방법

# 传统思维
a = "axbyczdj"

c = []
for i in range(len(a)):
    if i % 2 == 0: c.append(a[i]) print("".join(c))

3. 절단 문자열

문자열 "hello_world_yoyo"을 감안할 때, 큐 [ "안녕하세요", "세계", "요요를"]하는 방법을

a = "hello_world_yoyo"
b = a.split("_")
print(b)

4. 출력 포맷

어떻게 출력 "0001"그것은 숫자 1로 알려져있다

a = 1

print("%04d" % a)

5. 큐

[1, 3, 5, 7, 3 위치에 제 번호가 부여하는 방법 : 같은 큐를 주어 3, 5, 1, 7]

a = [1, 3, 5, 7]

# insert插入数据
a.insert(3, a[0])
print(a[1:])

6. 교환

a와 b의 값을 교환하는 방법 = 9 인 경우, b = 8, 8, 9의 값, B의 값을 구하는 것이 알려져

방법 1

a = 8
b = 9

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

방법 2

a = 8
b = 9

# 用中间变量c
c = a
a = b
b = c
print(a)
print(b)

7. 수선화

모든 "선화 번호"100-999 프린트 아웃, 소위 "선화 번호"큐브와 숫자 자체의 숫자와 동일하다 세 자리 숫자를 의미한다. 예를 들어 153 입방 때문에 입방 입방 +3 +5 1 = 153 "선화 번호"이다.

sxh = []
for i in range(100, 1000):
    s = 0 m = list(str(i)) for j in m: s += int(j)**len(m) if i == s: print(i) sxh.append(i) print("100-999的水仙花数:%s" % sxh)

8. 전체 수

숫자는 요소의 합과 정확히 같은 경우도 전체 또는 완전 수의 숫자로 알려진 숫자 "완전 수"를 불렀다. 예를 들어 첫 번째는 나머지 (3)의 개수 추가 6 자체를 외부에서 제거 될 수 -1,2,3,6-, 관한 완벽한 번호 6 인
1 + 2 + 3 = 6. 두 번째 숫자는 여러 1,2,4,7,14,28 관한 28 자체가 제거되고, 완전히 28, 합계 5, 1 + 2 + 4 + 7 + 14 = (28)의 잔여 개수.
그래서 질문은, 1000보다 완벽한 숫자가 적은 찾을 수 있습니까?

a = []

for i in range(1, 1000):
    s = 0 for j in range(1, i): if i % j == 0 and j < i: s += j if s == i: print(i) a.append(i) print("1000以内完全数:%s" % a)

9. 정렬

파이썬에서 거품 정렬 쓰기

a = [1, 3, 10, 9, 21, 35, 4, 6] s = range(1, len(a))[::-1] print(list(s)) # 交换次数 for i in s: for j in range(i): if a[j] > a[j + 1]: a[j], a[j + 1] = a[j + 1], a[j] print("第 %s 轮交换后数据:%s" % (len(s)-i+1, a)) print(a)

정렬 10.sort

큐 주어 1, 3, 6, 9, 7, 3, 4, 6]

  • 작은에서 큰 순서
  • 대형 주문할
  • 중복되는 번호를 제거
a = [1, 3, 6, 9, 7, 3, 4, 6] # 1.sort排序,正序 a.sort() print(a) # 2.sort倒叙 a.sort(reverse=True) print(a) # 3.去重 b = list(set(a)) print(b)

추천

출처www.cnblogs.com/yuany66/p/11389132.html