首頁 後端開發 Python教學 跟老齐学Python之复习if语句

跟老齐学Python之复习if语句

Jun 06, 2016 am 11:19 AM
if語句 複習

基本语句结构

代码如下:


if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……

只有当“判断条件”的值是True的时候,才执行下面的执行语句。

那么,在python中,怎么知道一个判断条件是不是真呢?这个问题我们在眼花缭乱的运算符中已经讲解了一种数据类型:布尔类型。可以通过一个内置函数bool()来判断一个条件的结果True还是False。看看下面的例子,是不是能够理解bool()的判断规则?

代码如下:


>>> bool("")
False
>>> bool(0)
False
>>> bool('none')
True
>>> bool(False)
False
>>> bool("False")
True
>>> bool(True)
True
>>> bool("True")
True
>>> bool(3>4)
False
>>> bool("b">"a")
True
>>> bool(not "")
True
>>> bool(not True)
False

忘记了怎么办?看下面的语句:

if 忘记:
    复习-->眼花缭乱的运算符一讲
在执行语句中,其实不一定非要把bool()写上的。如同这样:

代码如下:


>>> x = 9

>>> if bool(x>7):       #条件为True则执行下面的
...     print "%d more than 7"%x
... else:
...     print "%d not more than 7"%x
...
9 more than 7

>>> if x>7:
...     print "%d more than 7"%x
... else:
...     print "%d not more than 7"%x
...
9 more than 7

以上两个写法是等效的,但是,在实际的编程中,我们不用if bool(x>7)的格式,而是使用if x>7的样式,还要特别提醒,如果写成if (x>7),用一个括号把条件表达式括起来,是不是可以呢?可以,但也不是python提倡的。

代码如下:


>>> if (x>7):       #不提倡这么写,这不是python风格
...     print "%d more than 7"%x
...
9 more than 7

拉出来溜溜

平时总有人在不服气的时候说“是骡子是马,拉出来溜溜”,赵本山有一句名言“走两步”。其本质都是说“光说不练是假把式”。今天收到一个朋友的邮件,也询问,在学习python的时候,记不住python的内容。其实不用记,我在前面的课程中已经反复讲过了。但是,在应用中,会越来越熟练。

下面就做一个练习,要求是:

接收任何字符和数字的输入
判断输入的内容,如果不是整数是字符,就告诉给用户;如果是小数,也告诉用户
如果输入的是整数,判断这个整数是奇数还是偶数,并且告诉给用户
在这个练习中,显然要对输入的内容进行判断,以下几点需要看官注意:

通过raw_input()得到的输入内容,都是str类型
要判断一个字符串是否是由纯粹数字组成,可以使用str.isdigit()(建议看官查看该内置函数官方文档)
下面的代码是一个参考:

代码如下:


#! /usr/bin/env python
#coding:utf-8

print "请输入字符串,然后按下回车键:"

user_input = raw_input()

result = user_input.isdigit()

if not result:
    print "您输入的不完全是数字"

elif int(user_input)%2==0:
    print "您输入的是一个偶数"
elif int(user_input)%2!=0:
    print "您输入的是一个奇数"
else:
    print "您没有输入什么呢吧"

特别提醒列为,这个代码不是非常完善的,还有能够修改的地方,看官能否完善之?

再来一个如何?

已知一个由整数构成的list,从中跳出奇数和偶数,并且各放在一个list中。

请看官在看下面的参考代码之前,自己写一写。

代码如下:


#!/usr/bin/env python
#coding:utf-8

import random

numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到随机的list

odd = []
even = []

for x in numbers:
    if x%2==0:
        even.append(x)
    else:
        odd.append(x)

print numbers
print "odd:",odd
print "even:",even

用这个例子演示一下if在list解析中的应用。看能不能继续改进一些呢?

可以将循环的那部分用下面的list解析代替

代码如下:


#!/usr/bin/env python
#coding:utf-8

import random

numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到随机的list

odd = [x for x in numbers if x%2!=0]
even = [x for x in numbers if x%2==0]

print numbers
print "odd:",odd
print "even:",even

一个有趣的赋值

对赋值,看官应该比较熟悉了吧,如果要复习,请看《[赋值,简单也不简单]》(./127.md)以及《[正规地说一句]》(./201.md)的相关内容。

这里说的有趣赋值是什么样子的呢?请看:

代码如下:


>>> name = "qiwsir" if "laoqi" else "github"
>>> name
'qiwsir'
>>> name = 'qiwsir' if "" else "python"
>>> name
'python'
>>> name = "qiwsir" if "github" else ""
>>> name
'qiwsir'

总结一下:A = Y if X else Z

什么意思,结合前面的例子,可以看出:

如果X为真,那么就执行A=Y
如果X为假,就执行A=Z
再看看上面的例子,是不是这样执行呢?

if语句似乎简单,但是在编程时间中常用到。勤加练习吧。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1243
24
電腦程式設計常見的if語句是什麼 電腦程式設計常見的if語句是什麼 Jan 29, 2023 pm 04:31 PM

電腦程式設計常見的if語句是條件判斷語句。 if語句是一種選擇分支結構,它是依據明確的條件選擇選擇執行路徑,而不是嚴格按照順序執行,在程式設計實際運用中要根據程式流程選擇適合的分支語句,它是依照條件的結果改變執行的程式;if語句的簡單語法「if(條件式){// 要執行的程式碼;}」。

PHP中的條件控制結構 PHP中的條件控制結構 Mar 10, 2024 pm 09:36 PM

PHP中的條件控制結構在PHP程式設計中,條件控制結構是一種非常重要的語法,它可以讓程式根據不同的條件來執行不同的程式碼區塊。透過使用條件控制結構,我們可以實現程式的分支邏輯,根據條件的結果來決定程式的執行路徑。本文將介紹PHP中常用的條件控制結構,包括if語句、else語句、elseif語句和switch語句,並給出具體的程式碼範例。 if語句是PHP中最基本的條件控

如何解決Python的程式碼中的if語句重複錯誤? 如何解決Python的程式碼中的if語句重複錯誤? Jun 24, 2023 pm 04:10 PM

Python是一種十分強大且受歡迎的程式語言,廣泛應用於資料分析、機器學習和Web開發等領域。然而,在編寫Python程式碼時,我們難免會遇到if語句重複的情況,這可能會導致程式碼效率低、維護複雜等問題。因此,本文將介紹一些解決Python程式碼中if語句重複錯誤的方法和技巧。利用布林運算子簡化if語句在許多情況下,if語句中重複的邏輯可以被簡化為布林運算。例

深入解析Python流程控制語句:if、else、elif、while、for的使用 深入解析Python流程控制語句:if、else、elif、while、for的使用 Jan 20, 2024 am 10:21 AM

Python流程控制語句詳解:if、else、elif、while、for在程式設計中,流程控制語句是不可或缺的,它們用來根據條件決定程式的執行流程。 Python提供了幾個常用的流程控制語句,包括if、else、elif、while和for。本文將詳細介紹這些語句,並提供具體的程式碼範例。 if語句if語句用來決定某個條件是否成立,如果條件為真,則執行if程式碼區塊中的

Go 語言 if 語句的進階技巧:最佳化程式碼質量 Go 語言 if 語句的進階技巧:最佳化程式碼質量 Apr 07, 2024 pm 03:45 PM

掌握Go語言if語句的進階技巧,最佳化程式碼品質:使用if-else鏈條檢查多個條件,依照每個條件執行對應程式碼區塊。運用關係表達式比較值,傳回布林值。借助邏輯運算子組合佈林值,控製程式碼流。利用開關語句根據變數值執行不同的程式碼區塊。

Go 語言 if 語句的常見錯誤和如何避免它們 Go 語言 if 語句的常見錯誤和如何避免它們 Apr 07, 2024 am 11:03 AM

使用if語句時的常見錯誤包括:錯誤使用比較運算子、遺漏大括號、使用多個條件,以及用elseif作為預設情況。為了避免這些錯誤,請使用==來比較,始終使用大括號,使用單獨的if語句或布林運算子來檢查多個條件,並始終使用else作為預設情況。

控制流程語句:if和switch語句 控制流程語句:if和switch語句 Jun 19, 2023 pm 04:52 PM

控制流程語句:if和switch語句在程式設計中,控制流程語句是一個關鍵的概念,它用來控製程式執行的方式和順序。控制流程語句可以根據條件改變程式的執行順序,使程式能夠根據具體的情況執行不同的操作。其中,if語句和switch語句是最常用的控制流語句之一。 if語句if語句用於在程式中根據一個條件判斷是否執行一些程式碼。語法形式如下:if(condition){/

考試攻略:如何有效率備戰Go語言考試 考試攻略:如何有效率備戰Go語言考試 Mar 21, 2024 pm 03:12 PM

考試攻略:如何有效率地備戰Go語言考試,需要具體程式碼範例Go語言作為一種強型別、並發性高的程式語言,越來越受到程式設計師的青睞。對於想要提升自己技能並通過相關認證考試的人來說,備戰Go語言考試是一項重要的任務。在這篇文章中,我們將分享一些備戰Go語言考試的高效攻略,同時提供一些具體的程式碼範例,幫助讀者更好地理解和掌握Go語言的相關知識。 1.深入理解Go語言基礎知識

See all articles