第一週總結複習
python的[官方網站](http://python.org)
##變量
'''
1.變量的做用:變量是數據的載體
2.變量的命名:字母數字下劃線開頭,不能用數字開頭
不能用關鍵字,特殊符號 $等開頭
大小寫敏感(a 和 A 不同)
PEP 8 要求:
用小寫字母拼寫,多個單詞用下劃線隔開
受保護的實例屬性用單個下劃線開頭
私有的實例屬性用兩個下劃線開頭
3.變量的類型: int(),float(),str(), chr(), ord()--將字符串轉化成對應的編碼
'''
##運算符
'''
1.賦值運算符: =(賦值)、+=(加賦值)、-=(減賦值)、*=(乘賦值)、/=(除賦值)、%=(取餘賦值)
2.算數運算符: +、-、*、/、%
3.關係運算符: ==(等於)、!=(不等於)、>(大於)、<(小於)、>=(大於等於)、<=(小於等於)
4.邏輯運算符:and(與)、or(或)、not(非)
5.身份運算符
'''
##分支結構
'''
'''
##循環結構
'''
1.while循環:只要某一條件成立,就不斷執行循環體裏的代碼,直到該條件再也不成立,條件是否成立一樣是邏輯值來表示
2.for循環:循環的循環次數通常是事先定好的,將一個條件變量從某個豈是值開始,一直爹逮到某個終止值後結束
循環控制--pass:什麼也不作,只是佔據一行代碼的位置;
continue:表示當即退出本輪循環,不運行本輪循環的後續代碼,並繼續執行接下來的循環;
break: 表示當即退出整個循環,後續循環再也不執行
'''
python例題練習:(全部代碼在python3.5環境下可運行)
1.輸入三個數字,計算三角形面積周長:
import math a = float(input("請輸入三角形邊第一條邊長:")) b = float(input("請輸入三角形邊第二條邊長:")) c = float(input("請輸入三角形邊第三條邊長:")) while True: if a + b > c and a + c > b and b + c > a: perimeter = a + b + c p = perimeter / 2 g = math.sqrt(p * (p - a) * (p - b) * (p - c)) print("三角形周長爲:%.2f" % perimeter) print("三角形面積爲: %.2f" % g) else: print("-------------This is not triangle!!----------------") break
2.用戶輸入數字,由電腦來猜:
from random import randint user_input = int(input("please input the number you want computer guess>>>:")) counter = 0 low = 1 high = 100 money = 1000 while True: guess = randint(low, high) print(guess) counter += 1 if user_input == guess: print("congratulation, computer guess right") print("total guess:", counter) money += 200 print("computer has: ",money) if money < 500: print(" computer you are fucking stupid!!!!") quit() elif user_input > guess: low = guess + 1 print("computer guess a higher number") money -= 100 else: # user_input < guess high = guess - 1 print("computer guess a lower number:") money -= 100
3.和電腦猜石頭剪刀布:python
from random import randint while True: user_guess=int(input("1-- scisoor, 2--stone, 3--handkerchief:")) cm_guess = randint(1, 3) print(cm_guess) if user_guess == cm_guess: print("no one lose") elif user_guess == 1 and cm_guess == 2: print("user win") elif user_guess == 2 and cm_guess == 3: print("computer win") elif user_guess == 3 and cm_guess == 2: print("user win") else: #user_guess == 3 and cm_guess == 1: print("computer win")
4. 打印(2,100)全部素數app
import math def get_prime(maxNum): primeList = [] for x in range(2, maxNum + 1): a = math.sqrt(x) for prime in primeList: if prime > a: primeList.append(x) break if x % prime == 0: break else: primeList.append(x) return primeList print(get_prime(100))
5. 打印 '*'dom
row = int(input("please input the number of row:>>>>>")) for i in range(row): for j in range(row): if j < row - i - 1: print(' ', end = '') else: print('*', end = '') print()
6. 打印三角形的大寫字母,每行的字母同樣:網站
for x in range(65, 70): for y in range(64, x): print(chr(x), end = '') print()
7. 找出1-10000的水仙花數:ui
from time import time
from math import sqrt
start = time()
for n in range(1, 10000):
my_sum = 0
for factor in range(1,int(sqrt(n)) + 1):
if n % factor == 0:
my_sum += factor
if factor != 1 and factor != n // factor:
my_sum += n // factor
if my_sum == n:
print(n)
end = time()
print((end - start), 's')
8. 五人抓魚問題:A把魚分紅五份後扔走一條拿走本身那部分,BCDE用和A同樣方法分魚,求魚一共有多少條(本題使用窮舉法):編碼
fish = 1 while True: total = fish is_enough = True for _ in range(5): if (total - 1) % 5 == 0: total = (total - 1) // 5 * 4 else: is_enough = False break if is_enough: print("the min number of fish is:", fish) break fish += 1
9. craps 賭博遊戲spa
# craps 賭博遊from random import randintmoney = 1000while money > 0: print('players money:', money) while True: debt = int(input('please debt:')) if 0 < debt <= money: break face1 = randint(1, 6) face2 = randint(1, 6) go_on = False first_point = face1 + face2 print('玩家搖出了%d點' %first_point) if first_point == 7 or first_point == 11: print(" you win!") money += debt print("user have: %d" % money) elif first_point == 2 or first_point == 3 or first_point == 12: print(" computer win!") money -= debt print("user have: %d" % money) else: go_on = True while go_on: face1 = randint(1, 6) face2 = randint(1, 6) current_point = face2 + face1 print('玩家搖出了%d點' % current_point) if current_point == 7: print("user lose!") money -= debt go_on = False print("user have: %d" % money) elif current_point == first_point: print("user win!") money += debt go_on = False print("user have: %d" %money)