Python菜鳥求助函式的巢狀問題

2021-04-12 18:06:59 字數 3642 閱讀 4914

1樓:匿名使用者

我怎麼就變成大復神了【制

笑哭】def a(a):

#這個下面有個tab,就是為了讓下面的語句跟著你定義的這個a函式print('i\'m a')

#這下面的縮排是在a函式裡定義一個b函式

def b(b):

#到這裡的縮排就是b函式的範圍了

print('i\'m b')

print('a+b=',a+b)

#由於不跟著b函式的縮排,所以下面的這個b是a函式的範圍b(3)

print('done!')

a(5)

#樓主才剛學幾天呀

python菜鳥問題

2樓:匿名使用者

python 2.x寫法

x = 16

ans = 0

while ans*ans < x:

ans = ans + 1

print ans

python 3.x寫法

x = 16

ans = 0

while ans*ans < x:

ans = ans + 1

print(ans)

3樓:喜鵲太子

在ans=ans+1 行與print ans 中插入一個空白行

如果你的python目錄是python33的話 print(ans)

4樓:小米飛貓

#!/bin/env python

x = 16

ans = 0

while ans * ans < x:

ans+=1

print ans

python對語句copy寫的格式要

求比bai較嚴格,尤其是四個空格。

不知道你print是想du放到while裡面zhi還是外面dao,姑且我認為是放到裡面。

5樓:谷歌找茬

你用的是shell模式吧?shell模式一次只能寫一句,寫多了會報錯,你可以在文字編輯器裡寫。

python菜鳥問題, 執行出錯

6樓:藤原子大雄

「and or」語法在一些情況下可以替代if語句,使語法更簡潔清晰。其含義是這樣的:「判斷條件 and 條件為真時的結果 or 條件為假時的結果」,例如「x = len(l) > 0 and l[0] or none」。

但這個語法本質是利用了python的邏輯算符的運算特徵來實現,因而存在一定的使用限制,處理不好就有可能出錯。

這裡的主要問題是「條件為真時的結果」不能取值為假,否則即使條件為真也不會返回這個值。在python裡除了false符號之外,如none、整數0、空的list等等都會被當作邏輯假值來處理。比如「x = len(l) <= 0 and none or l[0]」這種寫法,由於none被當作邏輯假值來處理,所以無論len(l)的取值為何,最後總是會執行l[0]的,這顯然與該語句原先的預期效果不同。

「and or」語法的另一個可能的問題是and後面的兩個子句會被執行還是被跳過其實不是很明確,需要仔細查閱python文件看是否提供了嚴格的保證。

如果希望避免這種出錯可能,那麼也可以乾脆換用另外一種表達方法:「if_true if condition else if_false」,這個表示式在condition為邏輯真值時執行並返回if_true的值,condition為邏輯假值時返回if_false的值。

關於python的菜鳥問題

7樓:匿名使用者

def print_all(f):    #定義一個函

數print_all,接受一個引數f

print f.read()  #這個函式執行f.read()

def rewind(f):       #定義一個函式rewind,接受一個引數f

f.seek(0)        #f.seek(0)將f的檔案指標恢復到檔案開頭

def print_a_line(line_count, f):    #定義一個函式print_a_line,有兩個引數line_count,f

print line_count, f.readline()

print "first let's print the whole file: \n"

print_all (current_file)  #將current_file作為引數呼叫函式print_all,執行函式時f等於current_file

其餘函式呼叫都是差不多,就不多說了

8樓:匿名使用者

**解釋如下:

input_file作為變數,指的是一個檔案的路徑;

current_file = open(input_file)這一句獲取input_file的內容,這時候current_file 相當於f;

print_all (current_file)就是用current_file呼叫了print_all 函式,此時f=current_file;

此時,解決了提問者的第一個疑問。

def是定義函式的一個宣告語句,語法結構如下:

def functionname(para1,para2):

print "建立示例"

所以:def print_all(f):

print f.read()定義了一個print_all的函式,該函式有一個變數稱作f;print f.read()是這個函式的執行語句;

9樓:匿名使用者

這個函式的名字叫print_all(f)

print f.read() 是方法體裡要執行的語句f只是個引數,呼叫這個方法,就為這個引數賦值了。

print_all (current_file)這句其實就是將current_file賦值給f

10樓:

1. f.read() 是函式中的一個步驟, 其中f是函式的引數, 既在呼叫該函式時傳遞進來的

2. 定義了一個叫"print_all"的函式,其入口引數是"f", 其處理過程: print f.read()

菜鳥學python遇到的幾個小問題

11樓:匿名使用者

a1: open 函式中 'w' 代表以寫入模式開啟檔案;( w -- write )

a2: target 代表已經開啟的檔案例項; target. 後面即 對該開啟檔案的操作方法;

如: target.truncate([size]) #把檔案裁成規定的大小,預設的是裁到當前檔案操作標記的位置。

如果size比檔案的大小還要大,依據系統的不同可能是不改變檔案,也可能是用0把檔案補到相應的大小,也可能是以一些隨機的內容加上去。

target.write(str) #把str寫到檔案中,write()並不會在str後加上一個換行符

python菜鳥問題,如下圖,請解釋為何答案不是「5,4,3,2」?謝謝!

12樓:is誰在看

num = 5

# 你程式結構,是順序的,不是迴圈

while num > 2:

print(num)

num -= 1

# print(num)

python菜鳥求助,Python菜鳥求助 calc函式要怎麼穿進去才不報錯啊?

你的第3,4行沒有縮排,最好學習一下python的縮排規則。最後一行 寫得也不對,好的習慣是使用空格,避免使用tab,因為tab在不同的環境裡解釋的空格數量是不一樣的,我懷疑你的第3,4行是用的tab來縮排的。沒有縮排,python是以縮排來區分 塊的.python菜鳥求助 calc函式要怎麼穿進去...

凶請教python的巢狀for迴圈

第一次執行第一條語句,x的值為 2,然後進入內迴圈。執行第二條語句,z的值依次賦為1和 1,然後分別列印 21 n 2 1 n。注意 n為換行符,python中每個print結束,系統自動加入一個換行符,如果print語句後面新增一個逗號 print x,z,就不會列印換行符了 第二次執行第一條語句...

python菜鳥問題關於python的菜鳥問題

python 2.x寫法 x 16 ans 0 while ans ans x ans ans 1 print ans python 3.x寫法 x 16 ans 0 while ans ans x ans ans 1 print ans 在ans ans 1 行與print ans 中插入一個空白...