002-小白學python-運算符/判斷/循環
目錄
- 運算符/判斷/循環
- 算術運算符
- 賦值運算符
- 數據類型轉換
- 字符串轉換為數字類型
- 字符串類型轉換為浮點類型
- 轉換為字符串
- if 判斷
- 單個if
- if-else
- elif
- if嵌套
- 比較運算符
- 邏輯運算符
- 操作對象表達式
- 操作對象至少一個是值(會調用bool)
- while循環
- while True
- 一般情況下都需要終止條件
- 計算1-100的和
- break continue
- while 嵌套
- 猜拳
- 測BIM
- 輸入反饋
- 過七遊戲
運算符/判斷/循環
算術運算符
- +
- -
- *
- /
- // 整除(註意負數向小取整)
- % 余數
print(1+2) print(10-5) print(3*5) print(6/3) print(6.0/3) print(6/4) print(-6/4) print(-6//4) # 負數向小取整 print(10%3)
賦值運算符
遇到賦值運算符,先看右邊,在看左邊
- =
單變量賦值
多變量賦值 - 復合賦值運算符
- +=
- -=
- *=
- /=
- //=
- %==
name = ‘mike‘
age, length = 24, 18
print(name)
print(age, length)
num = 10
print(num)
num += 1
print(num)
num -= 2
print(num)
num *= 2
print(num)
num /= 2
print(num)
數據類型轉換
字符串轉換為數字類型
int()
字符串必須嚴格符合數字類型格式
~~~python
num1 = ‘100‘
num2 = ‘200‘
print(int(num1) + int(num2))
~~~
字符串類型轉換為浮點類型
float()
字符串必須嚴格符合數字浮點類型類型格式
~python~
f = ‘1.23‘
print(float(f))
轉換為字符串
str()
~python~
b = True
a = 100
print(str(a))
print(str(b))
if 判斷
單個if
條件判斷執行代碼
if condition:
pass
1. condition
* 比較運算
* 邏輯運算
* 值
* 或者組合的運算
~python~
age = 18
if age > 16:
print(‘RNG牛逼‘)
if-else
條件分支
if condition:
? pass
else:
? pass
num = 15
if num > 20:
print(‘大於20‘)
else:
print(‘小於20‘)
elif
多條件分支, 只需要滿足一個,其他的不會執行
~python~
score = 80
if 90 <= score <= 100 : # 推薦語法
print(‘A‘)
elif score >= 80 and score < 90:
print(‘B‘)
elif score >= 70 and score < 80:
print(‘C‘)
elif score >= 60 and score < 70:
print(‘D‘)
else:
print(‘不及格‘)
if嵌套
多層條件
~python~
danger = 0 # 沒有危險
ticket = 1
if not danger and ticket:
print(‘可以進站‘)
if not danger:
print(‘可以進站‘)
if ticket:
print(‘可以上車‘)
else:
print(‘不可以上車‘)
else:
print(‘不可以進站‘)
比較運算符
得出的結果就是布爾值
- ==
- !=
- >
=
- <
- <=
print(1 == 1)
print(‘name‘ == ‘name‘)
print(5 > 4)
print(3 != 2)
print(3 >= 3)
print(5 <= 7)
print(4 > 3)
print(6 != 6)
邏輯運算符
操作對象表達式
1. and 同真為真
2. or 有一個為真就可以
3. not 取反
優先級 () > not > and > or
操作對象至少一個是值(會調用bool)
- and 遇到假就停,返回該原值
- or 遇到真就停,返回該原值
- not 取反
home = 2
car = 3
if car >= 3 and home > 1:
print(‘牛逼‘)
else:
print(‘還得努力‘)
num = 10
if num > 5 and num < 20:
print(‘大小合適‘)
if not (2 > 3):
print(‘666666‘)
love = 1
if car > 2 and home >= 1 or love == 1:
print(‘陳獨秀‘)
else:
print(‘李時珍皮‘)
num = int(input(‘>>>輸入數字‘))
if num and num > 10:
print(‘ok‘)
while循環
條件滿足,執行代碼,然後去判斷條件,看是否滿足,滿足則執行,否則跳出循環
while condition:
? pass
while True
死循環,通常看情況使用
一般情況下都需要終止條件
count = 0
while count < 10:
print(f‘牛逼{count}‘)
count += 1
計算1-100的和
num = 1
sum_ = 0
while num < 101:
sum_ += num
num += 1
print(sum_)
s = 0
i = 1
while i < 101:
if i % 2 == 0:
s += i
i += 1
print(s)
# 計算 1-2+3-4+5-6,。。。+99-100
sum = 0
for i in range(1, 101):
if i % 2 == 0:
sum -= i
else:
sum += i
print(sum)
break continue
循環中使用
1. break 立即終止循環執行
2. continue 立即跳出當前循環,然後判斷條件進入下一次循環
3. 只能作用於最近的循環
4. 一般情況下與判斷結合使用
i = 1
while i < 10:
print(f‘i:{i}‘)
if i == 5:
break
i += 1
c = 1
while c <= 10:
if c == 5:
c += 1
continue
print(f‘c:{c}‘)
c += 1
while 嵌套
while condition1:
? pass
? while condition2:
? pass
# 打星星
i = 1
while i < 6:
j = 1
while j <= i:
print(‘*‘, end=‘ ‘)
j += 1
print(‘‘)
i += 1
# 99
m = 1
while m < 10:
n = 1
while n <= m:
print(f‘{n} * {m} = {m * n}‘, end=‘(-_-)‘)
n += 1
print(‘‘)
m += 1
## 99
j = 9
while j > 0:
k = 9
while j <= k:
print(f‘{k} * {j} = {j * k}‘, end=‘(-_-)‘)
k -= 1
print(‘‘)
j -= 1
## 99
for i in range(9, 0, -1):
for j in range(9, 0, -1):
if j <= i:
print(‘%d * %d = %d‘ % (j, i, i * j), end=‘ ‘)
print(‘\n‘)
猜拳
import random
# 得到用戶數據
# 分析用戶數據
# 操作用戶數據
# 進行判斷,循環
# 得出結果
dic = {
0: ‘剪刀‘,
1: ‘石頭‘,
2: ‘布‘,
}
count = 5
while count <= 5:
player = int(input(‘剪刀(0),石頭(1),布(2)>>>:‘))
if player not in (0, 1, 2):
count -= 1
if count == 0:
flag = input(‘還想玩嗎?Y/N‘)
if flag.upper().strip() == ‘Y‘:
count = 5
else:
break
print(f‘請輸入按照要求輸入012,還有{count}次機會‘)
continue
value = random.randint(0, 2)
print(f‘player--{dic[player]}‘)
print(f‘value---{dic[value]}‘)
if player == 0 and value == 2 or player == 1 and value == 0 or player == 2 and value == 1:
print(‘you win‘)
break
elif player == value:
print(‘peace‘)
else:
print(‘down‘)
count -= 1
print(f‘還有{count}次機會‘)
if count == 0:
flag = input(‘還想玩嗎?Y/N‘)
if flag.upper().strip() == ‘Y‘:
count = 5
else:
break
測BIM
# 判斷BIM指數:
# 1、輸入一個人的身高(m)和體重(kg)(分兩次輸入),根據BMI公式(體重除以身高的平方)計算他的BMI指數,
# 判斷這個指數輸出對應的肥胖程度(過輕、正常、過重、肥胖、嚴重肥胖)
# 例如:一個52公斤的人,身高是155cm,則BMI為 :
# 52(kg)/1.552**2(cm)= 21.6
# BMI指數:
# 低於18.5:過輕
# 18.5-25:正常
# 25-28:過重
# 28-32:肥胖
# 高於32:嚴重肥胖
while True:
high = input(‘輸入身高(m)>>>:‘)
weight = input(‘輸入體重(kg)>>>:‘)
BIM = int(weight) / (float(high) ** 2)
if high and weight:
if BIM < 18.5:
print(‘過輕‘)
elif 18.5 <= BIM < 25:
print(‘正常‘)
elif 25 <= BIM < 28:
print(‘過重‘)
elif 28 <= BIM < 32:
print(‘肥胖‘)
elif BIM >= 32:
print(‘嚴重肥胖‘)
flag = input(‘是否繼續測量(y/n)>>>‘)
if flag.strip().upper() == ‘N‘:
break
輸入反饋
# 編寫代碼,1-7七個數字,分別代表周一到周日,如果輸入的數字是6或7,輸出“周末”,
# 如果輸入的數字是1-5,輸出“工作日”,如輸入其他數字,輸出“錯誤”。
lst = [1, 2, 3, 4, 5, 6, 7]
while True:
info = int(input(‘>>>>>>‘))
if info in lst:
if info == 1:
print(‘周一‘)
elif info == 2:
print(‘周二‘)
elif info == 3:
print(‘周三‘)
elif info == 4:
print(‘周四‘)
elif info == 5:
print(‘周五‘)
elif info == 6 or info == 7:
print(‘周末‘)
flag = input(‘還要來嗎?(y/n)>>>‘)
if flag.strip().upper() == ‘N‘:
break
else:
print(‘輸入的數字不正確請重新輸入‘)
# 字典版本
dic = {
1: ‘周一‘,
2: ‘周二‘,
3: ‘周三‘,
4: ‘周四‘,
5: ‘周五‘,
6: ‘周末‘,
7: ‘周末‘,
}
info = input(‘>>>>>>‘)
print(dic.get(int(info)))
過七遊戲
#設計“過7遊戲”的程序, 打印出1-100之間除了含7和7的倍數之外的所有數字。
# 方法一:
lst = (i for i in range(1, 101))
f_o = filter(lambda item: item % 7 != 0 and ‘7‘ not in str(item), lst)
for i in f_o:
print(i)
# 方法二
# for i in range(1, 101):
# if i % 7 != 0 and ‘7‘ not in str(i):
# print(i)
002-小白學python-運算符/判斷/循環