C 大白轉Python小白之路

2021-08-14 14:47:48 字數 2093 閱讀 7817

此部落格的內容有:

異常處理

c++while(cin >> str)在python中的形式

字元的值

匯入模組

python的編碼注釋

頭部#!/usr/bin/python

keyboardinterrupt: 使用者中斷執行(通常是輸入ctrl+c)

認識它是因為我想解決python中while( cin >> s ) 的操作, 如何讓迴圈程式停止

eoferror: 沒有內建輸入,到達eof 標記

補充, 看樣子也許它是類似檔案結束符?

這兩塊是包含在python異常處理中的, 語法形式和c++類似

追加pass語句

pass是空語句,是為了保持程式結構的完整性。

pass 不做任何事情,一般用做佔位語句。

所以乙個大概的while( cin >> s ) 可以寫作這樣

try:

while

true:

str = input()

print(str)

except keyboardinterrupt:

pass

上面的程式在使用者按下ctrl + c時停止

try:

while

true:

str = input()

print(str)

except eoferror:

pass

上面的程式大概是輸入檔案結束時會停止

網上有資料介紹這樣的:

import sys

for str in sys.stdin:

pass

不很了解, 這似乎是乙個for的while(cin)

更好的解決方案還不知道

拿出題目吧:

某系統內部的資料表示為26進製,其中0-25分別由a-z表示。如ba=1*26+0*1=26,efc=4*26*26+5*26+2*1=2836。請設計乙個程式,輸入若干個26進製的數,輸出對應的10進製數。

樣例輸入:ba efc

樣例輸出:26 2836

如題, 按照c++移植過來的語法知識不足以完成此題

因為python不可以直接對字元進行運算, 需要轉換為ascii值

chr()、unichr()和ord()

char(int) int的值範圍為0~255, 分別對應乙個字元 ord(『a』) 則是字元得到數字 unichr()與chr()類似,

不過是對於unicode物件的

此處用ord()

num = 0

try:

while true:

str = input("請輸入字串\n")

for i in str:

num = num*26 + ord(i) - 97

print(num)

num = 0

except eoferror:

pass

至此, 乙個簡單的c++向python轉換就結束了

上面提到了python的模組(module), 下面介紹匯入的方法

以從sys中匯入stdin為例

import sys

for str in sys.stdin:

print(str)

import sys as s

for str in s.stdin:

print(str)

from sys import stdin

for str in stdin:

print(str)

from sys import * //萬用字元, 最不推薦的方式

for str in stdin:

print(str)

python小白xml轉json之路

import xml.etree.elementtree as et from elasticsearch import elasticsearch from elasticsearch import helpers import os def packnodes nodes,m if len no...

Python小白之路

學習路線 第一章 計算機基礎 計算機硬體 作業系統 網路協議 第二章 python基礎 初識python 常量變數 輸入輸出運算子 條件與迴圈語句 數字與字串 列表與字典 元組與集合 階段小測 字元編碼 檔案處理 第三章 python函式 初識 函式 函式高階 裝飾器 遞迴函式 二分查詢 迭代器和生...

Python小白學習之路

類與物件 python的成員函式在,預設有乙個self引數,這是類的成員函式與普通函式的主要區別,self,位於引數列表的開頭,self也代表類的例項 物件 自身,可以使用self引用類中的屬性和成員函式。在類的成員函式中訪問例項屬性需要以self為字首。建構函式 init 類例項化就自動呼叫此建構...