クーペ旅行面接の質問

1. Pythonの主な組み込みデータ型は何ですか?print dir( 'a')の出力?
Python変数データ型:list list []、dictionary dict {}、set set()、byte array bytearray
Python不変データ型:integer int、string str ''、tuple tuple()、bool bool、
複素数複素数、浮動小数点タイプfloat、bytes..。

2. 2つのリストAとBがある場合、Pythonを使用して、AとBの同じ要素と異なる要素を見つけてください。

lista = [1,2,3,4,5,6,'hello','world']
	listb =[2,6,'hello','tarena','python']
	set_a = set(lista)
	set_b = set(listb)
	equal_set = set_a&set_b
	print(set_a,set_b)
	print('相同的元素是:',equal_set)
	print('不相同的元素是:',(set_a|set_b)-equal_set)

3.文字列aStrを逆にしてください

s_old = 'aStr'
	lst = list(s_old)
	lst.reverse()
	s_new = ''.join(lst)
	print(s_new)
	

4.変数aとba
、b = b、aの値を交換します

5.以下のコードの問題を指摘してください

   def lastindextem(src,index)
        '''请返回传入src,使用空格或者'\'切分后的倒数第index个子串’‘’
        return src.split('\')[-index]
  答: 1、如果传入的参数index不是int类型 会报 TypeError 类型错误
			2、如果传入的参数index>len(src) 会报 IndexError 值错误,数组下标越界

6.次のプログラムの出力を書いてください

   a = 'abc'
    print (a[1])
    a[1] = 'a'


    print (a[1]) 答 第一个print成功打印'a' a[1]='a'报错TypeError字符串是不可变类型
--------------------------
    class Parent(Object):
        x = 1
    class Child1(Parent):
        pass
    class Child2(Parent):
        pass
    print Parent.x,Child1.x,Child2.x
    Child.x = 3
    print Parent.x,Child1.x,Child2.x
    Parent.x = 'a'
    print Parent.x,Child1.x,Child2.x
		答:	1 1 1
				1 3 1
				a 3 a

----------------------------------------
    def count():
        fs = []
        for i in range(1,4):
            def f():
                return i*i
            fs.append(f)
        return fs

    for f in count():
        print f(): 9   9   9
--------------------------------------
    def f(x,l=[]):
        for i in range(x):
            l.append(i+i)
        print l

    f(3)
    f(3,[3,2,1])
    f(2):
		[0, 2, 4]
		[3, 2, 1, 0, 2, 4]
		[0, 2, 4, 0, 2]

---------------------------------------
用一个select语句输出每个城市中距离市中心大于20KM酒店数

+------------+------------+--------+
|name        | city_id    |distance|
+------------+------------+--------+
|a酒店        |1000        |8       |
|xx酒店       |1000        |22      |
|xx酒店       |1000        |6       |
......
|xx酒店       |1001        |55      |:
select count(name) from where distance > 20

プログラミングの質問:
1行に文字列が含まれる3Gファイルがあり、内容はホテルIDと画像の名前で、「\ t」で区切られています。
例:ht_1023134 + '\ t' + hissnogin123.jpg
は、ホテルにAが含まれていることを意味します。の写真、20を超える写真を含むホテルID、10〜20の写真を含むホテルID、写真5〜10、0〜5を含むホテルIDを数え、結果をファイルに出力します。
ファイル形式は次とおりです

0-5 + '\t' + id1 + '\t' + id2 + ........
5-10 + '\t' + id1 + '\t' + id2 + ........
10-20 + '\t' + id1 + '\t' + id2 + ........
20-无穷大 + '\t' + id1 + '\t' + id2 + ........


f = open('hotel.txt', 'rb')
lst_hotelId = []
lst_hotelImg = []

ファイルをリストに読み込みます

while True:
    data = f.readline().decode()[:-2]
    if not data:
        f.close()
        break
    hotel_id, hotel_img = data.split('\t')
    hotel = data.split('\t')
    lst_hotelId.append(hotel_id)
    lst_hotelImg.append(hotel_img)

lst_count1 = []
lst_count2 = []
lst_count3 = []
lst_count4 = []

IDリストの同じID番号による

for x in lst_hotelId:
    if lst_hotelId.count(x) <= 5:
        if lst_count1.count(x) == 0:
            lst_count1.append(x)
    elif lst_hotelId.count(x) > 5 and lst_hotelId.count(x) <= 10:

        if lst_count2.count(x) == 0:
            lst_count2.append(x)
    elif lst_hotelId.count(x) > 10 and lst_hotelId.count(x) <= 20:

        if lst_count3.count(x) == 0:
            lst_count3.append(x)
    else:
        if lst_count4.count(x) == 0:
            lst_count4.append(x)
fw = open('count1.txt', 'wb')
s1 = '0-5\t\t'+'\t'.join(lst_count1)+'\n'
s2 = '5-10\t'+'\t'.join(lst_count2)+'\n'
s3 = '10-20\t'+'\t'.join(lst_count3)+'\n'
s4 = '20-无穷大\t'+'\t'.join(lst_count4)+'\n'
fw.write((s1+s2+s3+s4).encode())
fw.close()
print('write success!')

プログラミングの問題2:
intリストaが与えられ、a [i + 1]> = a [i]を満たし、intキーが与えられた場合、キー以上のリストaの最初の要素のインデックスを見つけます。要件を満たします要素は-1
関数定義を返します

def findindex(int_list,int_key):
    if int_key<len(int_list) and int_key>=0 :
        return int_key+=1
    else:
        return -1

ボーナスの質問:

1つの正規表現:

1.通常のマッチングにおける欲張りモードと非欲張りモードの違い欲張りモードと非欲張りモードは
、数量詞によって変更された部分式のマッチング動作に影響し
ます欲張りモードは、式全体が正常に一致することを前提として、可能な限り多く一致します
貪欲でないパターンは、式全体が正常に一致することを前提として、可能な限り一致しません。
非欲張りモードは、一部のNFAエンジンでのみサポートされています。
貪欲モードに属する数量詞は、
「{m、n}」、「{m、}」、「?」、「*」、「+」など、一致優先度数量詞とも呼ばれます

2. match / search関数の使用と違い
回答:
match()関数は、REが文字列の先頭で一致するかどうかのみを検出し、
search()は文字列全体をスキャンして一致を確認します。つまり、match()
はでのみ成功します。 0位置開始位置でない場合、
match()はnoneを返します。3
。文字またはアンダースコアで始まり、数字で終わる正規表現を記述してください
。regex= ' 1。 * [0-9] + $ '
2つ目は、HTTPプロトコルステータスコードの用途は何ですか?知っているHTTPプロトコルのステータスコードを一覧表示し、その
意味を教えてください。
ステータスコードはHTTPレスポンスの1行目にあります。「3桁のステータスコード」と「ステータスメッセージ」が返されます。
3桁のステータスコードは「プログラムの処理が簡単で、「ステータスメッセージ」は人々が理解しやすいです。

	HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事。
	HTTP状态码被分为五大类
 					已定义范围			分类
		1XX			100-101			信息提示
		2XX			200-206			成功
		3XX			300-305			重定向
		4XX			400-415			客户端错误
		5XX			500-505			服务器错误
	常见状态码:
		200 OK 服务器成功处理了请求(这个是我们见到最多的)
		301/302 Moved Permanently(重定向)请求的URL已移走。Response中应该包含一个Location URL, 说明资源现在所处的位置
		304 Not Modified(未修改)客户的缓存资源是最新的, 要客户端使用缓存
		404 Not Found 未找到资源
		501 Internal Server Error服务器遇到一个错误,使其无法对请求提供服务

3. http://www.mioji.com/に入ってからページに戻るまでに何が起こりましたか?
1.ブラウザにURLを入力します
2.アプリケーション層DNSがドメイン名を解決します
3.アプリケーション層クライアントがHTTP要求を送信します
4.トランスポート層TCP送信メッセージ
5.ネットワーク層IPプロトコルがMACアドレスを照会します
6。データはデータリンク層に到着し
ます7サーバーはデータを受信します
8.サーバーは要求に応答し
ます9.サーバーは対応するファイルを返します


  1. _a-zA- Z↩︎

おすすめ

転載: blog.csdn.net/weixin_49304690/article/details/112573160