1. 程式人生 > >【Python程式設計】翻譯小程式

【Python程式設計】翻譯小程式

1、回顧上章內容

1.1、使用random+string自動生成密碼

#!/usr/bin/env python
# Author:ywyankerp
import random
import string
My_List = []
My_Name = input("請您設定您的使用者名稱:")
My_Password = input("請您選擇設定幾位數的密碼:")
for i in range(int(My_Password)):
    My_Ran = random.choice(string.ascii_uppercase + string.digits)
    My_List.append(My_Ran)
Resultss = "".join(My_List)
User =  f"您的使用者名稱為:{My_Name}  您的密碼為:{Resultss}"
print(User)
>>>請您設定您的使用者名稱:延凱
>>>請您選擇設定幾位數的密碼:9
您的使用者名稱為:延凱  您的密碼為:LZT1W3MMR

2、本章知識點

  • dict
  • set
  • tuple

)2、字典的使用

2.1、字典結構 找到一個對應關係 {“鍵” : “值”} {“1” : “2”} dict 集合

#!/usr/bin/env python
# Author:ywyankerp
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
print(My_Name_dict)
>>>{'延凱': 'yankai', '張三': 'zhangsan', '王五': 'wangwu'}

2.2、取值

#!/usr/bin/env python
# Author:ywyankerp
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Name = My_Name_dict["延凱"]
print(My_Name)
>>>yankai

例如:我們取一個不存在的值

#!/usr/bin/env python
# Author:ywyankerp
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Name = My_Name_dict["uwaydoawo"]
print(My_Name)
>>>Traceback (most recent call last):
  File "e:\Python_yanzan\Python-yankai\My_dict.py", line 8, in <module>
    My_Name = My_Name_dict["uwaydoawo"]
KeyError: 'uwaydoawo'

查詢沒有的值將會直接報錯

2.3、使用.get方式取值

#!/usr/bin/env python
# Author:ywyankerp
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Name = My_Name_dict.get("延凱")
print(My_Name)
>>>yankai # 輸出結果

那麼使用.get 方式取一個沒有的值效果如下:

#!/usr/bin/env python
# Author:ywyankerp
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Name = My_Name_dict.get("pwadjdpjwap;dwa")
print(My_Name)
>>>None # 返回結果為空! 不會提示錯誤資訊

例如:使用.get方式取一個值,如果沒有這個值講輸出一條話 如下:

#!/usr/bin/env python
# Author:ywyankerp
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Name = My_Name_dict.get("pwadjdpjwap;dwa","對不起 您查詢的內容無翻譯")
print(My_Name)
>>>對不起 您查詢的內容無翻譯 # 輸出此段話

My_Name = My_Name_dict.get(“pwadjdpjwap;dwa”,"對不起 您查詢的內容

解釋:如果"pwadjdpjwap;dwa"沒有內容 那麼,“輸出後面這段話!”

2.4、在字典中新增鍵值

#!/usr/bin/env python
# Author:ywyankerp
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Name = My_Name_dict
print(My_Name)
>>>{'延凱': 'yankai', '張三': 'zhangsan', '王五': 'wangwu'}
# 目前字典中有yankai zhangsan wangwu值

直接新增鍵值如下:

#!/usr/bin/env python
# Author:ywyankerp
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_ADD = My_Name_dict["年齡"] = "27"
# 字典名稱["新增鍵"] = "值"
print(My_Name_dict)
>>>{'延凱': 'yankai', '張三': 'zhangsan', '王五': 'wangwu', '年齡': '27'} # 輸出結果

2.5、在字典中可直接新增列表list

#!/usr/bin/env python
# Author:ywyankerp
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_ADD = My_Name_dict["列表"] = [1, 2, 3, 4, 5, 6,]
print(My_Name_dict)
>>>{'延凱': 'yankai', '張三': 'zhangsan', '王五': 'wangwu', '列表': [1, 2, 3, 4, 5, 6]} # 輸出結果

同時我們可以先定義列表隨後巢狀到字典中如下:

#!/usr/bin/env python
# Author:ywyankerp
My_List = ["週一", "週二", "週三", "週四", "週五", ] # 先定義一個列表
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Add = My_Name_dict["我的列表"] = My_List # 加入列表內容到字典
print(My_Name_dict)
>>>{'延凱': 'yankai', '張三': 'zhangsan', '王五': 'wangwu', '我的列表': ['週一', '週二', '週三', '週四', '週五']} # 輸出內容

同時我們也可以巢狀字典如下:

#!/usr/bin/env python
# Author:ywyankerp
My_List = ["週一", "週二", "週三", "週四", "週五", ]
Add_book_dict = {
    "book" : "python3",
    "price" : 100
}
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Add =  My_Name_dict["我的書"] = Add_book_dict
print(My_Name_dict)
>>> {'延凱': 'yankai', '張三': 'zhangsan', '王五': 'wangwu', '我的書': {'book': 'python3', 'price': 100}} # 輸出結果

刪除字典的某一個鍵

#!/usr/bin/env python
# Author:ywyankerp
My_List = ["週一", "週二", "週三", "週四", "週五", ]
Add_book_dict = {
    "book" : "python3",
    "price" : 100
}
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Add =  My_Name_dict["我的書"] = Add_book_dict
del My_Name_dict["王五"] # 例如:刪除王五的鍵
print(My_Name_dict)
>>> {'延凱': 'yankai', '張三': 'zhangsan', '我的書': {'book': 'python3', 'price': 100}} # 王五已經不存在

刪除 del 字典名稱[“鍵”] 即可刪除

修改字典中鍵的值

#!/usr/bin/env python
# Author:ywyankerp
My_List = ["週一", "週二", "週三", "週四", "週五", ]
Add_book_dict = {
    "book" : "python3",
    "price" : 100
}
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Add =  My_Name_dict["我的書"] = Add_book_dict
My_Name_dict["延凱"] = "yankerp" # 修改鍵值
print(My_Name_dict)
>>> {'延凱': 'yankerp', '張三': 'zhangsan', '王五': 'wangwu', '我的書': {'book': 'python3', 'price': 100}} # 輸出結果

修改: 字典名稱[“鍵”] = “值”

3、使用keys方法獲取字典中的所以key

#!/usr/bin/env python
# Author:ywyankerp
My_List = ["週一", "週二", "週三", "週四", "週五", ]
Add_book_dict = {
    "book" : "python3",
    "price" : 100
}
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Add =  My_Name_dict["我的書"] = Add_book_dict
My_keys = My_Name_dict.keys() # 使用keys方法
print(My_keys)
>>> dict_keys(['延凱', '張三', '王五', '我的書']) # 輸出內容

使用for迴圈輸出

#!/usr/bin/env python
# Author:ywyankerp
My_List = ["週一", "週二", "週三", "週四", "週五", ]
Add_book_dict = {
    "book" : "python3",
    "price" : 100
}
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Add =  My_Name_dict["我的書"] = Add_book_dict
for i in My_Name_dict.keys():
    print(i)
>>> # 以下是輸出結果
>延凱
張三
王五
我的

使用items方法

一個方法 # 鍵值對 成對 可以理解為元組 一組一組的。

#!/usr/bin/env python
# Author:ywyankerp
My_List = ["週一", "週二", "週三", "週四", "週五", ]
Add_book_dict = {
    "book" : "python3",
    "price" : 100
}
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Add =  My_Name_dict["我的書"] = Add_book_dict
My_itm = My_Name_dict.items()
print(My_itm)
>>> dict_items([('延凱', 'yankai'), ('張三', 'zhangsan'), ('王五', 'wangwu'), ('我的書', {'book': 'python3', 'price': 100})]) # 輸出結果內容 可以理解為一組一組的

使用for迴圈輸出items

#!/usr/bin/env python
# Author:ywyankerp
My_List = ["週一", "週二", "週三", "週四", "週五", ]
Add_book_dict = {
    "book" : "python3",
    "price" : 100
}
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Add =  My_Name_dict["我的書"] = Add_book_dict
for i in My_Name_dict.items():
    print(i)
('延凱', 'yankai')
('張三', 'zhangsan')
('王五', 'wangwu')
('我的書', {'book': 'python3', 'price': 100})

那麼以上輸出已經可以看到是一組一組的輸出 我們可以把鍵&&值分別設定變數輸出 如下:

#!/usr/bin/env python
# Author:ywyankerp
My_List = ["週一", "週二", "週三", "週四", "週五", ]
Add_book_dict = {
    "book" : "python3",
    "price" : 100
}
My_Name_dict = {
    "延凱" : "yankai",
    "張三" : "zhangsan",
    "王五" : "wangwu"
}
My_Add =  My_Name_dict["我的書"] = Add_book_dict
for a, b in My_Name_dict.items():
    My_fules = f"{a}=={b}"
    print(My_fules)
# 輸出結果:
延凱==yankai
張三==zhangsan
王五==wangwu
我的書=={'book': 'python3', 'price': 100}

3、tuple元組

name = 1,2
print(name)
>>(1,2)

加括號

name = (1,2)
print(name)
>>(1,2)

3.1、例如IP地址及埠

Ip_Port = ("192.168.1.100","80")
print(Ip_Port)
>>('192.168.1.100', '80')

3.2、將Ip_port元組巢狀字典

My_IP = {} # 定義一個空的字典
Ip_Port = ("192.168.1.100","80") # 定義一個元組
My_IP["My_ip_port"] = Ip_Port # 在字典中加入元組內容
print(My_IP) # 輸出字典
>>>{'My_ip_port': ('192.168.1.100', '80')} # 輸出內容

不重複的元素

set 集合
nuber = {1,2,2,3,3,4,5,6,7,7,7,7,78,8,9,}
set
nuber
>>{1, 2, 3, 4, 5, 6, 7, 8, 9, 78} 
for i in nuber:
    print(i)
1
2
3
4
5
6
7
8
9
78
name = {1,2,3,4,4,4,4,4,5,5,5,5,6,7,8,9,0}
result = set(name)
print(result)
>>>{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
type(result)
set

4、編寫翻譯小程式

#!/usr/bin/env python
# -*- coding: utf-8 -*-
print("歡迎來到yankerp的翻譯系統,要登入翻譯系統請先註冊.".center(50, "-"))
import random
import string
import sys
Your_name = input("請您設定您的使用者名稱:")
Your_Password = input("請選擇您的密碼為幾位數:")
My_list = []
for i in range(int(Your_Password)):
    My_Password = random.choice(string.ascii_lowercase + string.digits)
    My_list.append(My_Password)
    My_List_Com = "".join(My_list)
print(f"您的使用者名稱密碼設定成功 使用者名稱:{Your_name} 您的密碼為:{My_List_Com}")
print("恭喜您註冊使用者名稱密碼成功,請輸入使用者名稱密碼登入翻譯系統".center(50, "-"))
Your_Sign = input("請您輸入您的使用者名稱:")
Your_Sign_pass = input ("請您輸入您的密碼:")
if Your_Sign == Your_name and Your_Sign_pass == My_List_Com:
    print("使用者名稱密碼輸入正確")
else:
    print("請您檢查使用者名稱密碼是否正確,請核對後再次輸入!!!")
    sys.exit()
print("恭喜您成功登陸翻譯系統,請您慢慢享用~~~".center(50, "-"))

My_dict = {
    "中國" : "China",
    "延凱" : "YanKai",
    "週一" : "Monday",
    "蟒蛇" : "Python",
    "運動" : "sport",
    "鋼" : "steel",
    "駕駛" : "steer",
}
Your_query = input("請您輸入你需要翻譯:")
if (My_dict.get(Your_query, '')):
    print(f"您要查詢的結果為:{Your_query} 翻譯結果為:{My_dict[Your_query]}")
else: 
    print(f"對不起您所需要翻譯的 '{Your_query}' 未找到!!!")
    Your_Add = input("您是否要新增翻譯資訊(y/n?)")
    if Your_Add == "y":
        Key = input("請您輸入你想新增的Key:")
        value = input("請您輸入你想新增的value:")
        Add_dict = My_dict[Key] = value
        print(f"恭喜您新增成功-翻譯名為:{Key} 翻譯值為:{value}")
        for a, b in My_dict.items():
            print(f"{a} == {b}")
    else:
        print("退出翻譯系統成功,歡迎下次光臨!!!")

執行結果如下:

----------歡迎來到yankerp的翻譯系統,要登入翻譯系統請先註冊.-----------
請您設定您的使用者名稱:延凱
請選擇您的密碼為幾位數:9
您的使用者名稱密碼設定成功 使用者名稱:延凱 您的密碼為:n9eiu9xe4
-----------恭喜您註冊使用者名稱密碼成功,請輸入使用者名稱密碼登入翻譯系統------------
請您輸入您的使用者名稱:延凱
請您輸入您的密碼:n9eiu9xe4
使用者名稱密碼輸入正確
--------------恭喜您成功登陸翻譯系統,請您慢慢享用~~~---------------
請您輸入你需要翻譯:蟒蛇
您要查詢的結果為:蟒蛇 翻譯結果為:Python

輸入使用者名稱密碼如下:

----------歡迎來到yankerp的翻譯系統,要登入翻譯系統請先註冊.-----------
請您設定您的使用者名稱:延凱
請選擇您的密碼為幾位數:9
您的使用者名稱密碼設定成功 使用者名稱:延凱 您的密碼為:mm9yg5czo
-----------恭喜您註冊使用者名稱密碼成功,請輸入使用者名稱密碼登入翻譯系統------------
請您輸入您的使用者名稱:延凱
請您輸入您的密碼:a
請您檢查使用者名稱密碼是否正確,請核對後再次輸入!!

新增翻譯key如下:

----------歡迎來到yankerp的翻譯系統,要登入翻譯系統請先註冊.-----------
請您設定您的使用者名稱:延凱
請選擇您的密碼為幾位數:9
您的使用者名稱密碼設定成功 使用者名稱:延凱 您的密碼為:er5zfn0iw
-----------恭喜您註冊使用者名稱密碼成功,請輸入使用者名稱密碼登入翻譯系統------------
請您輸入您的使用者名稱:延凱
請您輸入您的密碼:er5zfn0iw
使用者名稱密碼輸入正確
--------------恭喜您成功登陸翻譯系統,請您慢慢享用~~~---------------
請您輸入你需要翻譯:a
對不起您所需要翻譯的 'a' 未找到!!!
您是否要新增翻譯資訊(y/n?)y
請您輸入你想新增的Key:張三
請您輸入你想新增的value:zhangsan
恭喜您新增成功-翻譯名為:張三 翻譯值為:zhangsan
中國 == China
延凱 == YanKai
週一 == Monday
蟒蛇 == Python
運動 == sport
鋼 == steel
駕駛 == steer
張三 == zhangsa

相關推薦

Python程式設計翻譯程式

1、回顧上章內容 1.1、使用random+string自動生成密碼 #!/usr/bin/env python # Author:ywyankerp import random import stri

Python練習抽獎程式

1.做個抽獎程式,可以輸入一個人的名字和抽獎號,然後隨機抽取存在的抽獎號,程式可以指定抽取次數,抽取後顯示抽獎號和名字,全部抽取完成後輸出抽獎的總結果演算法:1 能夠死迴圈讀入不同的名字和抽獎號,使用字典儲存,在輸入done的時候退出死迴圈。2 輸入抽獎的次數,儲存到一個變數

Python程式設計程式 貨幣轉換 v2

#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = "YanZanG" over = False from color_me import ColorMe class Info(objec

Python程式設計使用者註冊資訊v1

#!/usr/bin/env python # -*- coding:utf-8 -*- __Author__ = "YanZanG" product_name = "Memorandum" # 匯入Python內建庫及第三方庫 from color_me import Color

Python程式設計Pycharm如何設定自動換行

Pycharm如何設定自動換行 在寫這篇IDE文章之前我在網上找了幾個文件做了參考。 我按照以上圖中找到了相關的配置選項並勾選如下: 設定完成後我測試是否可以換行,如下: 並沒有發現可以換行,於是我重新打開了pycharm再次嘗試,神奇的事情發生了,它還是沒有自動換行,找

Python程式設計Python_logging 模組

Python_logging 模組 一、日誌的作用? 在每天運維人員的工作中,接觸伺服器還是很多的,比如:web伺服器,有可能有一個服務宕了,我們都會去看它的日誌,比如web服務Nginx為例:Nginx啟動失敗,首先我們會去它安裝路徑查詢error.log這個日誌,因為這

Python程式設計自由管理時間之time模組

Python_自由管理時間 程式設計中時間的使用場景 檔案屬性 資料庫 頁面UI顯示 定時 日誌 一、時間戳 1.1、時間戳相關的概念 時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月

Python爬蟲2-翻譯程式

1、簡介 本次部落格分享的內容為基於有道線上翻譯實現一個實時翻譯小程式,本次任務是參考小甲魚的書《零基礎入門學習Python》完成的,書中程式碼對於當前的有道詞典並不適用,使用後無法實現翻譯功能,在網上進行學習之後解決了這一問題。 2、前置工作 1)由於有道線上翻譯是“反爬

遊戲程式設計Direct 3D程式框架

下面進行三維遊戲的開發吧。用的是DirectX 9。 執行結果: 原始碼: #include <d3d9.h> #include <d3dx9.h> #include <tchar.h> #define WINDOW_WIDTH

Python程式設計PDF檔案讀寫demo (mark)

# pdf_demo.py # coding: utf-8 # de8ug # 需要提前安裝:pip install reportlab from reportlab.lib.pagesizes import A4 from reportlab.pdfgen import canvas

Python程式設計MemoAdmin (Mark)

MemoAdmin (Mark) excel #!/usr/bin/env python # -*- coding:utf-8 -*- import os import openpyxl import datetime import time from core i

Python程式設計對excel進行資料分析 (mark)

Python對excel進行分析   目前有一個excel表,其中裡面有一個工作薄的名稱為:btc,在這個工作薄中有2013年–2018年的所有交易資料,本文主要實現,將不同的年份的資料儲存至新的工作薄並起名成為:2013,2014等等。   如

python學習新手基礎程式練習(一)

  首先得先編一下程式設計師必須編的程式——Hello World……(這應該是程式設計師情結。。。) 1 #coding=utf-8 2 #Version:python3.7.0 3 #Tools:Pycharm 2017.3.2 4 _date_ = '2018/12/30 12:26' 5 _a

python程式設計網站密碼暴力破解程式碼

1、pass1.txt需要從相關網站上下載,即密碼字典 2、使用python 此程式執行後列印密碼即可 #!/usr/bin/python #-*-coding:utf-8-*- import sys import httplib,urllib;  #載入模組 def P

OpenCV數字影象處理(4) Python程式設計(4) 平移

配套使用的OpenCV版本:2.4.9 ; Python版本:2.7 主要參考文章(感謝作者分享) 程式極其類似於參考文章1、文章1使用的是OpenCV2.0,而OpenCV2.49的寫法稍有不同 效果參考文章1,語法參考文章2 主要思想(轉載自文章1)

python學習新手基礎程式練習(二)

Ι  繼續上一節得內容,這裡主要是對各種知識的理解以及如何運用。 一、執行 Python 指令碼的兩種方式 1.把python執行檔案加到計算機的環境變數中,然後新建檔案把程式寫在新檔案裡,再通過cmd命令開啟命令提示符終端,輸入python + 檔名(路徑也要寫全)回車執行即可。 2.直接在命令列輸入

Python程式設計時間轉換器案例

#!/usr/bin/env python # -*- coding:utf8 -*- from datetime import datetime from dateutil import parse

python爬蟲(五):實戰 1. 檢驗代理ip程式

# 檢驗代理ip是否可用 import requests proxy_id = { "http": "http://110.73.42.32:8123"} r = requests.get('http://ip.webmasterhome.cn/', proxies=proxy_id)

Python程式設計快速上手實踐專案Excel到CSV的轉換程式

專案說明 Excel 可以將電子表格儲存為CSV 檔案,只要點幾下滑鼠,但如果有幾百個Excel檔案要轉換為CSV,就需要點選幾小時。利用第12 章的openpyxl 模組,程式設計讀取當前工作目錄中的所有Excel 檔案,並輸出為CSV 檔案。 一個 Ex

Python精華100個Python練手程式

100個Python練手小程式,學習python的很好的資料,覆蓋了python中的每一部分,可以邊學習邊練習,更容易掌握python。 【程式1】 題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少? 1.程式分析:可填在百