Python基礎知識質問バンク

1、 Pythonスクリプトを実行する2つの方法

インタラクティブモード:コマンドライン

Windowsオペレーティングシステムでは、ショートカットキーcmdを使用し、「python」と入力して、インタラクティブなpythonインタープリターを起動します。

ファイル形式:pythonファイル

2、 ビットとバイトの関係を簡単に説明してください

バイナリビットは、コンピュータでの表現の最小単位です。

バイトは、コンピューター内の最小のストレージ単位です。

バイナリビット= 8ビット= 1バイト= 1バイト

**3、 ascii、unicode、utf-8、gbk **の関係を簡単に説明してください

米国は、一連の文字コードを策定し、英語の文字とバイナリビットの関係に関する規則を統一しました。これはASCIIコードと呼ばれます。

Unicodeは、世界中のすべての文字と記号に対応できる国際組織によって開発された文字エンコード方式です。世界のすべてのシンボルを含めます。各シンボルには一意のコードが与えられ、文字化けの問題は解消されます。これはUnicodeであり、その名前が示すように、これはすべてのシンボルのエンコーディングです。

インターネットの人気には、統一されたコーディング方法が強く求められています。 UTF-8は、インターネット上で最も広く使用されているUnicodeの実装です。 UTF-8の最大の特徴の1つは、可変長のエンコード方式であることです。シンボルを表すために1〜4バイトを使用でき、バイト長はシンボルごとに異なります。 UTF-8では、英語が1バイト、中国語が3バイトを占めます。

GBK:基本的に元のGB2312-80のすべての中国語文字とコードポイントを使用し、元のUnicode 20902のすべての中国語文字をカバーする中国語文字の国家標準拡張コード。合計883記号、21003中国語文字、1894文字が提供されます。コードポイント。 GBKはUnicodeのすべてのCJK中国語文字もカバーするため、Unicodeに1対1で対応することもできます。 WindowsのデフォルトエンコーディングGBK、中国語は2バイトを占めます。

4、 「LiJie」のutf-8とgbkでコード化された桁数を記入してください

utf-8では、英語1つが1バイト、中国語1つが3バイト、「LiJie」が6バイトを占めています。

GBKでは、中国語の文字が2文字を占め、「LiJie」が4文字を占めます。

**5、 Pyhtonの単一行コメントと複数行コメントの用途は何ですか? ****

Pythonの単一行コメントは#を使用し、複数行コメントは三重引用符 "''"を使用します。

**6、 変数を宣言する際の注意事項は何ですか? ****

宣言変数を最初に割り当てる必要があります。変数名には、文字、数字、および下線_を含めることができます。変数を数字で始めることはできません。

7、 メモリ内の変数のアドレスを確認するにはどうすればよいですか?

id(変数名)#メモリアドレスを表示します。

**8、 Pythonプログラムを実行するときに自動生成された.pycファイルの機能は何ですか? ****

Pythonは、起動速度の最適化として、この方法でバイトコードを保存します。次回プログラムを実行するときに、前回バイトコードが保存されてからソースコードを変更していない場合、Pythonは.pycファイルをロードし、コンパイル手順をスキップします。 Pythonを再コンパイルする必要がある場合、ソースファイルとバイトコードファイルのタイムスタンプが自動的にチェックされます。ソースコードを再度保存すると、次にプログラムを実行したときにバイトコードが自動的に再作成されます。

9、 コードを書く

**a。ユーザーがユーザー名とパスワードを入力していることを確認します。ユーザー名が7で、パスワードが123の場合、ログインは成功します。それ以外の場合、ログインは失敗します。 ****

username=input("username:")
passwd=input("passwd:")if username=="seven" and passwd=="123":print("ログイン成功!")else:print("ログインに失敗しました!")

b。ユーザーがユーザー名とパスワードを入力していることを認識します。ユーザー名が7で、パスワードが123の場合、ログインは成功します。それ以外の場合、ログインは失敗します。失敗した場合、入力は3回許可されます

count=0while True:
 username =input("username:")
 passwd =input("passwd:")if username=="seven" and passwd=="123":print("ログイン成功!")break
 count +=1if count==3:print("ログインに失敗しました!")break

10、 コードを書く

**a。whileループを使用して、2-3 + 4-5 + 6 ... + 100 **の合計の出力を達成します。

i=2
total_1=0
total_2=0while i<=100:if i%2==0:
  total_1+=i
 else:
  total_2+=-i
 i+=1
total=total_1+total_2
print(total)

**b。forループと範囲を使用して、出力1-2 + 3-4 + 5-6 ... + 99 **の合計を実現します。

total_1=0
total_2=0for i inrange(100):if i%2==1:
  total_1+=i
 else:
  total_2+=-i
total=total_1+total_2
print(total)

**c。whileループを使用して、出力1、2、3、4、5、7、8、9、11、12 **を実現します。

i=1while True:if i>=1 and i<=5:print(i)if i>=7 and i<=9:print(i)if i==11 or i==12:print(i)
 i+=1

**d。whileループを使用して、1〜100 **以内のすべての奇数を出力します。

i=1while i<=100:if i%2==1:print(i)
 i+=1

**e。whileループを使用して、1〜100 **以内のすべての偶数を出力します。

i=1while i<=100:if i%2==0:print(i)
 i+=1

11、 それぞれ5、10、32、7の数字のバイナリ表現を書いてください

番号5:00000101

番号10:00001010

番号32:00100000

番号7:00000111

12、 オブジェクトとクラスの関係を簡単に説明してください(分析的に利用可能)

クラスは、同じデータ構造(属性)と同じ操作関数(動作)を持つオブジェクトのコレクションです。オブジェクトは、特定のクラスに準拠するインスタンスです。

**13、 次の2つの変数がありますが、n1とn2の関係を簡単に説明してください。 ****

n1  =  123

n2  =  123

n1とn2は同じメモリアドレスを使用します

Python内部最適化:-5から157までの割り当て変数はすべて同じアドレスです

**14、 次の2つの変数がありますが、n1とn2の関係を簡単に説明してください。 ****

n1  =  123456

n2  =  123456

n1とn2は異なるメモリアドレスを使用します

Python内部最適化:-5から157までの割り当て変数はすべて同じアドレスです

**15、 次の2つの変数がありますが、n1とn2の関係を簡単に説明してください。 ****

n1  =  123456

n2  =  n1

同じメモリアドレスを使用しますが、変数名が異なります

**16、 変数n1 = 5がある場合は、intが提供する方法を使用して、変数を表すことができるバイナリビットの最小数を取得してください。 ****

3 2桁の2桁、00000101

**17、 ブール値とは何ですか? ****

正誤問題

バイナリで0、1。多くの場合、0はFalseと見なされ、ゼロ以外のすべてはTrueと見なされます。

18、 コードを読んで、実行結果を書いてください

a  =  "alex"

b  =  a.capitalize()

print(a)

print(b)

出力結果を書き込んでください: alex Alex #capitalize()最初の文字を大文字にし、他の文字を小文字にします

19、 コードを書いてください。次の変数があります。必要に応じて各関数を実装してください

name  =  "  aleX"

a。name変数に対応する値の両側のスペースを削除し、削除されたコンテンツを入力します

name="  aleX"print(name.strip())

b。name変数に対応する値が「al」で始まるかどうかを判別し、結果を出力します

name="  aleX"if name[0:2]=="al":print("True")else:print("False")

Falseを出力
方法2:印刷(name.startswith("al")) False

c。name変数に対応する値が「X」で終わるかどうかを判別し、結果を出力します

name="  aleX"if name[-1]=="X":print("True")else:print("False")

Trueを出力

方法2:印刷(name.endswith("X"))     True
d.name変数に対応する値の「l」を「p」に置き換えて結果を出力する
name="  aleX"print(name.replace("l","p"))
出力:apeX

**e。「l」に従って名前変数に対応する値を分割し、結果を出力します。 ****

name="  aleX"print(name.split("l"))
出力:['  a','eX']

**f。すみません、前の質問でeを割った後、どのような種類の値が得られますか? ****

name.split( "l")#文字を「l」のリストに分割します

g。name変数に対応する値を大文字にして、結果を出力します

name="  aleX"print(name.upper())
出力:ALEX

h。name変数に対応する値を小文字に変更し、結果を出力します

name="  aleX"print(name.lower())
出力:アレックス

**i。名前変数に対応する値の2番目の文字を出力してください。 ****

name=" aleX"print(name[1])
出力:a

**j。name変数に対応する値の最初の3文字を出力してください。 ****

name=" aleX"print(name[0:3])
出力:al

**k。名前変数に対応する値の最後の2文字を出力してください。 ****

name=" aleX"print(name[-2:])
出力:eX

**l。name変数に対応する値に「e」のインデックス位置を出力してください。 ****

name=" aleX"print(name.index("e"))
出力:3

**20、 文字列は反復可能ですか?可能であれば、各要素のforループを使用してください。 ****

name="aleX"for i inrange(len(name)):print(name[i])

**21、 達成するにはコードを使用してください:アンダースコアを使用してリストの各要素を文字列につなぎ合わせます、li = ['alex'、 'eric'、 'rain'] **

li=['alex','eric','rain']print('_'.join(li))
出力:アレックス_eric_rain

22、 コードを書いてください。次のリストがあり、要件に従って各機能を実装します

li = ['alex', 'eric', 'rain']

a。リストの長さを計算して出力

li=['alex','eric','rain']print(len(li))
出力:3

b。要素「seven」をリストに追加し、追加されたリストを出力します

li=['alex','eric','rain']
li.append('seven')print(li)
出力:['alex','eric','rain','seven']

c。リストの最初の位置に要素「Tony」を挿入し、追加されたリストを出力してください

li=['alex','eric','rain']
li.insert(0,'tony')print(li)
出力:['tony','alex','eric','rain']

d。リストの2番目の位置にある要素を「ケリー」に変更し、変更されたリストを出力してください

li=['alex','eric','rain']
li[1]="kelly"print(li)
出力:['alex','kelly','rain']

e。リスト内の要素「eric」を削除して、変更されたリストを出力してください

li=['alex','eric','rain']
li.pop(1)print(li)
出力:['alex','rain']
li=['alex','eric','rain']
li.remove("eric")print(li)
出力:['alex','rain']

f。リストの2番目の要素を削除し、要素を削除した後、削除された要素とリストの値を出力してください

li=['alex','eric','rain']print(li[1])
li.pop(1)print(li)
出力:エリック
[' alex','rain']

g。リストの3番目の要素を削除し、削除された要素のリストを出力してください

li=['alex','eric','rain']
li.pop(2)print(li)
出力:['alex','eric']

h。リストの2番目から4番目の要素を削除し、要素を削除した後にリストを出力してください

li=['tony','alex','eric','rain','seven']
del li[1:4]print(li)
出力:['tony','seven']

i。リストのすべての要素を反転し、反転したリストを出力してください

li=['tony','alex','eric','rain','seven']
li.reverse()print(li)
出力:['seven','rain','eric','alex','tony']

j。for、len、rangeを使用して、リストのインデックスを出力してください

li=['tony','alex','eric','rain','seven']for i inrange(len(li)):print(li.index(li[i]),li[i])
出力:0トニー
  1 alex
  2 eric
  3 rain
  4 seven

k。列挙を使用して、リスト要素とシリアル番号を出力してください(シリアル番号は100から始まります)

li=['alex','eric','rain']for i,j inenumerate(li):print(i+100,j)
出力:100アレックス
  101 eric
  102 rain

l。forループを使用して、リストのすべての要素を出力してください

li=['tony','alex','eric','rain','seven']for i inrange(len(li)):print(li[i])
出力:トニー
  alex
  eric
  rain
  seven

23、 コードを書いてください。次のリストがあります。機能要件に従って各関数を実装してください** li = ["hello"、 'seven'、["mon"、["h"、 "kelly"]、 'all']、 123、446] **

a。「ケリー」を出力してください

li =["hello",'seven',["mon",["h","kelly"],'all'],123,446]print(li[2][1][1])

b。インデックスを使用して「all」要素を見つけ、「ALL」に変更してください

li =["hello",'seven',["mon",["h","kelly"],'all'],123,446]print(li[2][2].upper())

24、 コードを記述し、次のタプルを用意し、必要に応じて各機能を実装します

tu = ('alex', 'eric', 'rain')

a。タプルの長さを計算して出力

tu =('alex','eric','rain')print(len(tu))
出力:3

b。タプルの2番目の要素を取得し、出力

tu =('alex','eric','rain')print(tu[1])
出力:エリック

c。タプルの1〜2個の要素を取得し、 ####を出力します。

tu =('alex','eric','rain')print(tu[0:2])出力:('alex','eric')

d。タプルの要素を出力するためにを使用してください

tu =('alex','eric','rain')for i inrange(len(tu)):print(tu[i])
出力:アレックス
  eric
  rain

e。タプルのインデックスを出力するには、for、len、rangeを使用してください

tu =('alex','eric','rain')for i inrange(len(tu)):print(i,tu[i])
出力:0アレックス
  1 eric
  2 rain

f。列挙を使用して、祖先要素とシリアル番号を出力してください(シリアル番号は10から始まります)

tu =('alex','eric','rain')for i,j inenumerate(tu):print(i+10,j)
出力:10アレックス
  11 eric
  12 rain

25、 次の変数があります。必要な関数を実装してください** tu =( "alex"、[11、22、{"k1": 'v1'、 "k2":["age"、 "name"]、 "k3 ":(11,22,33)}、44])**** a。元津の特徴を教えてください**

リストと同じですが、タプルは読み取り可能であり、変更することはできません。

**b。tu変数の最初の要素「alex」を変更できますか? **

変更できません。タプルには、保存されているデータを変更しないように明記されています。リストを強制的に変更した後で変更できます。

c。tu変数の「k2」の値はどのタイプですか?変更できますか?可能であれば、要素「Seven」を追加してください

k2はリストであり、変更できます。

tu =("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
tu[1][2]["k2"].append("seven")print(tu)出力:('alex',[11,22,{'k1':'v1','k2':['age','name','seven'],'k3':(11,22,33)},44])

d。tu変数の「k3」に対応する値のタイプは何ですか?変更できますか?可能であれば、要素「Seven」を追加してください

k3はタプルであり、変更できません。以下は必須の変更です。

tu =("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
k3はタプル部分の辞書のキーです
tu[1][3]["k3"]=list(tu[1][3]["k3"])
tu[1][3]["k3"].append("seven")
tu[1][3]["k3"]=tuple(tu[1][3]["k3"])print(tu)

26、 辞書** dic = {'k1': "v1"、 "k2": "v2"、 "k3":[11,22,33]} **** a。すべてのキーを切り替えてください**

dic ={'k1':"v1","k2":"v2","k3":[11,22,33]}for key in dic.keys():print(key)
出力:k1
  k2
  k3

b。すべての値を出力するために循環してください

dic ={'k1':"v1","k2":"v2","k3":[11,22,33]}for value in dic.values():print(value)
出力:v1
  v2
     [11,22,33]

c。すべてのキーと値をループで出力してください

dic ={'k1':"v1","k2":"v2","k3":[11,22,33]}for i ,j in dic.items():print(i,j)
出力:k1 v1
  k2 v2
  k3 [11,22,33]

d。キーと値のペアを辞書 "k4": "v4"に追加し、追加された辞書を出力してください

dic ={'k1':"v1","k2":"v2","k3":[11,22,33]}
dic["k4"]="v4"print(dic)
出力:{'k1':'v1','k2':'v2','k3':[11,22,33],'k4':'v4'}

e。変更した辞書の「alex」に対応する「k1」の値を変更し、変更した辞書を出力してください

dic ={'k1':"v1","k2":"v2","k3":[11,22,33]}
dic["k1"]="alex"print(dic)
出力:{'k1':'alex','k2':'v2','k3':[11,22,33]}

f。k3に対応する値に要素44を追加し、変更された辞書を出力してください

dic ={'k1':"v1","k2":"v2","k3":[11,22,33]}
dic["k3"].append(44)print(dic)
出力:{'k1':'v1','k2':'v2','k3':[11,22,33,44]}

g。k3に対応する値の最初の位置に要素18を挿入し、変更された辞書を出力してください

dic ={'k1':"v1","k2":"v2","k3":[11,22,33]}
dic["k3"].insert(0,18)print(dic)
出力:{'k1':'v1','k2':'v2','k3':[18,11,22,33]}

27、 変換** a。文字列s = "alex"をリストに変換します**

s="alex"
s=list(s)print(type(s))
出力:<class'list'>

b。文字列s = "alex"を元津 ####に変換します

s="alex"
s=tuple(s)print(type(s))
出力:<class'tuple'>

b。リストli = ["alex"、 "seven"]をタプルに変換します

li=["alex","seven"]
li=tuple(li)print(type(li))

出力:<class'tuple'>

c。tu=( 'Alex'、 "seven")をリストに変換します

tu =('Alex',"seven")
tu=list(tu)print(type(tu))
出力:<class'tuple'>
d.liをリストします=["alex","seven"]辞書に変換され、辞書のキーが10から逆方向に増加し始めます
li =["alex","seven"]
dir={}
a=10for i in li:
 dir[a]=i
 a+=1print(dir)
出力:{10:'alex',11:'seven'}

28、 Transcoding **** n = "Old Boy" **** a。文字列をutf-8でエンコードされたバイトに変換して出力し、次にバイトをutf-8でエンコードされた文字列に変換してから出力

n="老人"
n1=n.encode("utf-8")print(n1)
n2=n1.decode("utf-8")print(n2)
出力:b'\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9'
 老人

a。文字列をgbkでエンコードされたバイトに変換して出力し、次にバイトをgbkでエンコードされた文字列に変換してから ####を出力します。

n="老人"
n1=n.encode("gbk")print(n1)
n2=n1.decode("gbk")print(n2)
出力:b'\xc0\xcf\xc4\xd0\xba\xa2'
 老人
その他のコーディングの問題のリンク:http://www.cnblogs.com/yuanchenqi/articles/5956943.html

**29、 1〜100 ** ####内のすべての数値の合計を求めます

sum=0for i inrange(101):
 sum+=i
print(sum)
出力:5050

**30、 要素分類****には次の値セット[11,22,33,44,55,66,77,88,99,90]があり、66より大きいすべての値を辞書の最初のキーに保存します。 66の値は、2番目のキーの値に保存されます。 ****の意味:{'k1':すべての値が66より大きい、 'k2':すべての値が66未満} **

tu=[11,22,33,44,55,66,77,88,99,90]
n1=[]
n2=[]
dir={}for i in tu:if i >66:
  n1.append(i)else:
  n2.append(i)
dir["k1"]=n1
dir["k2"]=n2
print(dir)
出力:{'k1':[77,88,99,90],'k2':[11,22,33,44,55,66]}

31、 ショッピングカートの機能要件:ユーザーは総資産を入力する必要があります。例:2000 は製品のリストを表示し、ユーザーがシリアル番号に基づいて製品を選択し、ショッピングカートに追加して購入することができます(製品の総量がより大きい場合)。総資産は、アカウントの残高が不足していることを示しています。それ以外の場合、購入は成功しています。 **** goods = [ {"name": "Computer"、 "price":1999}、 {"name": "Mouse"、 "price":10}、* * {"name": "Yacht"、 "price":20}、**** {"name": "美女"、 "price":998}、****] **

goods =[{"name":"コンピューター","price":1999},{"name":"マウス","price":10},{"name":"ヨット","price":20},{"name":"美しさ","price":998},]
goods_cart=[]while True:
 salary=input("input your salary:")if salary.isdigit():
  salary=int(salary)while True:print("ナンバリング","商品","\t","価格")for i inrange(len(goods)):print(i+1,"\t",goods[i]["name"],"\t",goods[i]["price"])

   choice=input(">>:").strip()if choice.isdigit():
    choice=int(choice)if choice>0 and choice<=(len(goods)-1):if salary-goods[choice-1]["price"]>=0:
      salary-=goods[choice-1]["price"]
      goods_cart.append(goods[choice])print(goods[choice-1]["name"],"ショッピングカートに追加すると、購入は成功します","保たれているバランス",salary)else:print("購入するのに十分なバランスがありません,悪くない",goods[choice-1]["price"]-salary)if choice=="q":print("あなたが購入した製品は",goods_cart,"左",salary,"元")breakelse:print("入力した商品は存在しません!")breakprint("次回ようこそ!")

特定の注意事項:リンクhttp://www.cnblogs.com/xuyaping/p/6639850.html

Recommended Posts

Python基礎知識質問バンク
Pythonの基礎知識(1)
Pythonクローラーの基本的な知識ポイントの仕上げ
Python3の基本構文
Pythonの基本的な要約
Pythonの知識ポイント
Pythonの基本的な演算子
Pythonの基本的な構文ジェネレータ
Python3補足知識ポイント
Pythonの基本的な描画チュートリアル(1)
Pythonの高度な知識ポイント
Python関数の基礎学習
python_クローラーの基本的な学習
Pythonの基本的なデータタイプ
Pythonの基本構文
Pythonの基本的なデータタイプ
Pythonの基本的な構文の反復
Pythonの古典的なインタビューの質問1
2020--Python文法の一般的な知識のポイント
Pythonの基本的な構文リストの作成
Pythonの基本的な描画チュートリアル(2つ)
Python入門ノート[基本的な文法(上)]
Pythonエントリーノート[基本的な文法(下記)]
Pythonファイル操作の基本的なプロセス分析
本当のゼロの基本的なPython開発ウェブ
Pythonモジュールの知識の完全な分析
Pythonの基本的な構文と数値タイプ