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.サーバーは対応するファイルを返します
_a-zA- Z↩︎