學(xué)習(xí)歷程按照Github上jackfrued的100天學(xué)習(xí)python的進(jìn)度來進(jìn)行,再輔上一些自己查找的相關(guān)資料。
對(duì)應(yīng)傳送門:https://github.com/jackfrued/Python-100-Days/tree/master/
Day02 語言元素
- Python3中定義變量時(shí)不需要指定類型,可以根據(jù)等號(hào)后邊的值推導(dǎo)出類型。
- 定義變量的時(shí)候必須給變量賦值,即變量的初始值
- 在程序中可隨時(shí)修改變量的值,而Python將始終記錄變量的最新值
- Python 中的變量不需要聲明。每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建
- 在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內(nèi)存中對(duì)象的類型
- Python的標(biāo)準(zhǔn)數(shù)據(jù)類型:
不可變數(shù)據(jù)類型:number, string, tuple
可變數(shù)據(jù)類型:list, dictionary, set
image
(以上來源:https://www.cnblogs.com/gybb/p/9790463.html 『Python基礎(chǔ)-3』變量、定義變量、變量類型、關(guān)鍵字) - 通過input函數(shù)實(shí)現(xiàn)鍵盤的輸入,通過print函數(shù)實(shí)現(xiàn)數(shù)據(jù)的輸出,通過int、float等進(jìn)行類型的轉(zhuǎn)換。
a = int(input('a = '))
b = int(input('b = '))
print('%d + %d = %d' % (a, b, a + b))
- print函數(shù)的格式化輸出
轉(zhuǎn)換標(biāo)志:-表示左對(duì)齊;+表示在數(shù)值前要加上正負(fù)號(hào);" "(空白字符)表示正數(shù)之前保留空格();0表示轉(zhuǎn)換值若位數(shù)不夠則用0填充。
print('%d + %d = %d' % (a, b, a + b))
PI = 3.141592653
print('%10.3f'%PI) #字段寬10,精度3
print('%-10.3f' %PI) #左對(duì)齊,還是10個(gè)字符,但空格顯示在右邊。
#3.142
PI=3.1415926
print('%+f' % PI) #顯示正負(fù)號(hào) #+3.141593
# 類型f的默認(rèn)精度為6位小數(shù)
PI=3.1415926
print('%010.3f'%PI) #字段寬度為10,精度為3,不足處用0填充空白
#000003.142 0表示轉(zhuǎn)換值若位數(shù)不夠則用0填充
(該段部分來源:https://blog.csdn.net/sinat_28576553/article/details/81154912)
- print函數(shù)的換行
print默認(rèn)換行,不換行的話方法:
使用 print(x, end="")
end="" 可使輸出不換行。雙引號(hào)之間的內(nèi)容就是結(jié)束的內(nèi)容,可以是空格,也可以是其他字符,默認(rèn)為換行
(來源:https://www.php.cn/python-tutorials-423471.html) - type()可以檢查對(duì)應(yīng)變量的類型
- python每條語句后面不用加分號(hào)(當(dāng)然也可以加),通過換行區(qū)分代碼句;如果要一行寫多個(gè)代碼句的話需要在兩者中加分號(hào)
寫多行代碼的方法:(1)每行后面加上一個(gè)空格和一個(gè)\。
(2)用小括號(hào)括起來 - 注釋方法,單行用“#”,多行的話用"""
"""
12345
54321
"""
#12345
Day03 分支結(jié)構(gòu)
- python中分支語句有if,elif和else三種;沒有switch/case語句
- Python中沒有用花括號(hào)來構(gòu)造代碼塊而是使用了縮進(jìn)的方式來設(shè)置代碼的層次結(jié)構(gòu),如果if條件成立的情況下需要執(zhí)行多條語句,只要保持多條語句具有相同的縮進(jìn)就可以了,換句話說連續(xù)的代碼如果又保持了相同的縮進(jìn)那么它們屬于同一個(gè)代碼塊,相當(dāng)于是一個(gè)執(zhí)行的整體。
- if結(jié)構(gòu)語句格式:if加判斷條件加:號(hào)
value = float(input('請(qǐng)輸入長度: '))
unit = input('請(qǐng)輸入單位: ')
if unit == 'in' or unit == '英寸':
print('%f英寸 = %f厘米' % (value, value * 2.54))
elif unit == 'cm' or unit == '厘米':
print('%f厘米 = %f英寸' % (value, value / 2.54))
else:
print('請(qǐng)輸入有效的單位')
4.獲取隨機(jī)整數(shù),需導(dǎo)入random模塊中的randomint函數(shù)。
from random import randint
face = randint(1, 6)
- 使用平方根的方式,需導(dǎo)入math模塊,使用里面的math.sqrt函數(shù)(還有一種方式為from math import sqrt)
import math
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
print('周長: %f' % (a + b + c))
p = (a + b + c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
print('面積: %f' % (area))
else:
print('不能構(gòu)成三角形')
Day04 循環(huán)結(jié)構(gòu)
- for-in 循環(huán),即for 變量 in range(范圍):
sum = 0
for x in range(2, 101, 2):
sum += x
print(sum)
- range可以用來產(chǎn)生一個(gè)不變的數(shù)值序列,而且這個(gè)序列通常都是用在循環(huán)中的,例如:
range(101)可以產(chǎn)生一個(gè)0到100的整數(shù)序列。
range(1, 100)可以產(chǎn)生一個(gè)1到99的整數(shù)序列。
range(1, 100, 2)可以產(chǎn)生一個(gè)1到99的奇數(shù)序列,其中的2是步長,即數(shù)值序列的增量。
(有些類似于C++和Java中的for i=0;i<n;i++) - While循環(huán),和C++,java的有些類似,即while+判斷條件+":"號(hào)
import random
answer = random.randint(1, 100)
counter = 0
while True:
counter += 1
number = int(input('請(qǐng)輸入: '))
if number < answer:
print('大一點(diǎn)')
elif number > answer:
print('小一點(diǎn)')
else:
print('恭喜你猜對(duì)了!')
break
print('你總共猜了%d次' % counter)
- break關(guān)鍵字可以提前終止循環(huán),但是break只能終止它所在的那個(gè)循環(huán)。除了break之外,還有另一個(gè)關(guān)鍵字是continue,它可以用來放棄本次循環(huán)后續(xù)的代碼直接讓循環(huán)進(jìn)入下一輪。
- 嵌套循環(huán)的例子(輸出九九乘法表):
for i in range(1, 10):
for j in range(1, i + 1):
print('%d*%d=%d' % (i, j, i * j), end='\t')
print()
