前言
分支(if-else)和循環(huán)是每種編程語言必定存在的用法,這里記錄下python中的分支結(jié)構(gòu)和結(jié)構(gòu)。結(jié)合之前學習的變量,類型,運算符,表達式,和分支,循環(huán)結(jié)構(gòu),練習寫個猜數(shù)字游戲和冒泡排序。
正文
分支結(jié)構(gòu)
if語句的使用
分支結(jié)構(gòu)可以使用if、elif和else關(guān)鍵字。所謂關(guān)鍵字就是有特殊含義的單詞,像if和else就是專門用于構(gòu)造分支結(jié)構(gòu)的關(guān)鍵字,很顯然你不能夠使用它作為變量名(事實上,用作其他的標識符也是不可以)。
判斷三條邊是否能夠組成一個三角形
a = float(4)
b = float(5)
c = float(4)
if a + b > c and a + c > b and b + c > a:
print('周長: %f' % (a + b + c))
p = (a + b + c) / 2
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print('面積: %f' % (area))
else:
print('不能構(gòu)成三角形')
輸出成績代表的等級
score = float(95)
if score >= 90:
grade = 'A'
elif score >= 80: # 和PHP不一樣,這里使用的是 elif
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'E'
print('對應(yīng)的等級是:', grade)
循環(huán)結(jié)構(gòu)
Python中構(gòu)造循環(huán)結(jié)構(gòu)有兩種做法,一種是for-in循環(huán),一種是while循環(huán)。
for-in 循環(huán)
a = 'python筆記'
for x in a:
print(x) # 輸出字符串 a 的每個元素
while循環(huán)
while循環(huán)通過一個能夠產(chǎn)生或轉(zhuǎn)換出bool值的表達式來控制循環(huán),表達式的值為True循環(huán)繼續(xù),表達式的值為False循環(huán)結(jié)束。
實現(xiàn)“猜數(shù)字”小游戲
計算機出一個1~100之間的隨機數(shù),人輸入自己猜的數(shù)字,計算機給出對應(yīng)的提示信息,直到人猜出計算機出的數(shù)字
import random
answer = random.randint(1, 100) #從1-100中隨機出一個數(shù)字
count = 0 #記錄猜答案的次數(shù)
while(True): #循環(huán),直到猜中就跳出循環(huán)
input_num = int(input('請輸入你猜的數(shù)字:')) #玩家輸入數(shù)字,保證是整數(shù)
count += 1
if input_num > answer:
print('你猜的不對,有點大了!請再來')
elif input_num < answer:
print('你猜的不對,小了點!請再來')
else:
print('恭喜你,猜中了')
break #這里是跳出循環(huán),結(jié)束while循環(huán)
print('*' * 10) #輸出10個*
print('你一共猜了%s次' % count)
if count > 5:
print('你的智商有待。。。。')
else:
print('你是牛人')
冒泡排序
冒泡排序算法的原理如下:
- 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
- 對每一對相鄰元素做同樣的工作,從開始第一對到結(jié)尾的最后一對。在這一點,最后的元素應(yīng)該會是最大的數(shù)。
- 針對所有的元素重復以上的步驟,除了最后一個。
- 持續(xù)每次對越來越少的元素重復上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。
def bubble_sort(nums):
for i in range(len(nums) - 1): # 這個循環(huán)負責設(shè)置冒泡排序進行的次數(shù)
for j in range(len(nums) - i - 1): # j為列表下標
if nums[j] > nums[j + 1]:
nums[j], nums[j + 1] = nums[j + 1], nums[j]
return nums
print(bubble_sort([45, 32, 8, 33, 12, 22, 19, 97]))
# 輸出:[8, 12, 19, 22, 32, 33, 45, 97]
本文由博客一文多發(fā)平臺 [OpenWrite]發(fā)布!