99. for循環練習題-3種方式輸出0-9

【目錄】

文章目錄

  • 99. for循環練習題-3種方式輸出0-9
    • 1. for循環和while循環的區別
    • 2. 輸出 0~(n-1)的數字
      • 2.1 基礎代碼
      • 2.2 自定義函數代碼
      • 2.3 異常處理語句代碼

【正文】

99. for循環練習題-3種方式輸出0-9

1. for循環和while循環的區別

for循環和while循環都用于重復執行特定的代碼塊。

【for循環語法】

for 迭代變量 in 迭代對象:循環體

【while循環語法】

while 條件表達式:循環體

【區別】

while循環中,只有一個循環條件,如果為真,則執行循環體代碼;否則,跳出循環。

while循環沒有明確的計數器或循環變量,需要在循環體中手動更新條件或使用break語句來跳出循環。

有明確的條件,用while循環。

不確定條件,但明確了在某個范圍之內,用fo循環。

2. 輸出 0~(n-1)的數字

【目標任務】

在同一行內輸出 0-n 中的前 n 個數字,輸出的每個數字后跟一個空格

【輸入要求】

輸入一個不大于10的正整數n。

【輸出要求】

在同一行中輸出 0~(n-1) 的數字。

【示例】

輸入:3

輸出:0 1 2

【思路解析】

輸出 0~(n-1) 的數字,0~(n-1)這是一個范圍。

在某個范圍內,我們用for語句來實現。

2.1 基礎代碼

【代碼示例】

n = int(input("請輸入數字 n: "))for i in range(n):print(i, end=" ")

【終端輸出】

0 1 2 

終端輸入3,輸出結果為0 1 2

【代碼解析】

n = int(input("請輸入數字 n: "))

input函數獲取用戶輸入的數字,注意input函數接收的數據類型為字符串類型。

int函數其字符串類型的數據轉換為整數類型后賦值給變量 n

for i in range(n):

for循環語法:

for 迭代變量 in 迭代對象:循環體

`i`` 是迭代變量。

range(n) 是迭代對象。

使用 for 循環和 range(n) 來生成一個從 0n-1 的整數序列。

range(n) 函數會生成一個包含 0 到 n-1 的序列,每次循環迭代時,將當前迭代的值賦值給變量 i。

注意注意 for 循環語句后面接一個英文冒號:,冒號后面的循環體代碼需要有4個空格的縮進。

注意注意 range(n)是生成的序列只到n-1,不包含n

print(i, end=" ")

這是是for語句要循環執行的代碼。

注意該語句前有4個空格的縮進。

print(i, end=" ") 將每個數字打印出來,并用空格作為分隔符。

end=" " 的作用是將默認的換行符 "\n" 替換為一個空格,這樣數字就會在同一行上輸出。

print函數語法:

print(value,, sep=' ', end='\n', file=sys.stdout, flush=False)

一個完整的print()函數有5個參數:

end參數設定輸出語句以什么結尾,默認是換行符\n結尾,即輸出后會重新起一行。

注意題目要求在同一行內,且每個數字后跟一個空格,因此這里需要添加 end=' '

【沒有end參數,默認 end=‘\n’】

n = 3
for i in range(n):print(i)

【終端輸出】

0
1
2

【end=" "】

n = 3
for i in range(n):print(i, end= " ")

【終端輸出】

0 1 2 

【區別】

默認時,end='\n'輸出有換行效果。

end= " " 輸出的數字以空格作為間隔。

2.2 自定義函數代碼

【代碼示例】

def print_numbers(n):for i in range(n):print(i, end=" ")n = int(input("請輸入數字 n: "))
print_numbers(n)

【終端輸出】

0 1 2 

【代碼解析】

def print_numbers(n):

def 語句定義了一個名為 print_numbers 的函數,它接收一個參數 n。

  • def 是關鍵字。
  • print_numbers函數名稱,你可以根據自己的喜歡命名。
  • ( ) 一對英文圓括號。
  • n 是自定義函數接收的參數。

注意注意,如果有多個參數,參數之間使用英文逗號,分隔。

注意注意,如果沒有參數,也必須保留一對空的英文圓括號( ),否則程序會報錯。

for i in range(n):print(i, end=" ")

在函數內部,我們使用 for 循環和 range(n) 來生成一個從 0 到 n-1 的整數序列,并使用 print 函數將每個數字逐個打印出來。

我們使用 end=" " 參數來指定以空格作為分隔符,使得數字在同一行上輸出。

n = int(input("請輸入數字 n: "))

input函數從終端獲取一個數字 n 。

print_numbers(n)

調用函數語法:

函數名(參數列表)

當你定義了一個函數后,你可以通過函數名加上一對圓括號來調用它。

括號里可以包含函數需要的參數。

如果函數沒有參數,則括號可以為空。

  • print_numbers是函數名。
  • ( )一對英文圓括號。
  • n實際傳入給函數的值。

2.3 異常處理語句代碼

沒有學過異常處理語句的同學,請忽略該部分內容。

要加入異常處理語句,就要先確定程序可能引發的異常錯誤。

上面的代碼異常可能發生在終端輸入。

終端輸入有以下幾種情況:

  • 輸入一個正整數。
  • 輸入一個負整數。
  • 輸入0。
  • 輸入一個小數。
  • 輸入的內容非數據類型。

【輸入一個正整數:3】

def print_numbers(n):for i in range(n):print(i, end=" ")n = int(input("請輸入數字 n: "))
print_numbers(n)

【終端輸出】

0 1 2 

【輸入一個負整數:-3】

def print_numbers(n):for i in range(n):print(i, end=" ")n = int(input("請輸入數字 n: "))
print_numbers(n)

終端輸入-3,程序什么也沒輸出。

【代碼解析】

print(list(range(-3)))

【終端輸出】

[]

range函數語法為:

range`(start,end,step)`

range 函數有3個參數start,end,step

在 range 函數中,如果傳入的 end 參數小于等于 start 參數,并且步長 step 的符號與 start - stop 的符號相同,那么生成的序列將為空。

list(range(-3))返回的是空列表。

for i in range(-3): 沒有可以遍歷的內容,因此for循環語句沒有任何輸出。

range函數相關知識可參考下面的鏈接:

42. range函數—生成器函數-更新

【輸入0】

def print_numbers(n):for i in range(n):print(i, end=" ")n = int(input("請輸入數字 n: "))
print_numbers(n)

【代碼解析】

print(list(range(0)))

【終端輸出】

[]

range(0)range(-3)一樣,都是空的,不會有內容返回。

【輸入一個小數:0.3】

def print_numbers(n):for i in range(n):print(i, end=" ")n = int(input("請輸入數字 n: "))
print_numbers(n)

【終端輸出】

ValueError: invalid literal for int() with base 10: '0.3'

range函數接收的參數必須是整數。

當輸入小數時程序報錯。

ValueError: invalid literal for int() with base 10: '0.3':“傳入的值錯誤:使用十進制將 ‘0.3’ 轉換為整數時出現無效字面值”。

【輸入的內容非數據類型:p】

def print_numbers(n):for i in range(n):print(i, end=" ")n = int(input("請輸入數字 n: "))
print_numbers(n)

【終端輸出】

ValueError: invalid literal for int() with base 10: 'p'

ValueError: invalid literal for int() with base 10: p':“傳入的值錯誤:使用十進制將 ‘p’ 轉換為整數時出現無效字面值”。

【思路解析】

輸入一個正整數 - 程序正常運行
輸入一個負整數 - 程序沒有輸出
輸入0 -程序沒有輸出
輸入一個小數- 程序報錯 - ValueError: invalid literal for int() with base 10: '0.3'
輸入的內容非數據類型-程序報錯 - ValueError: invalid literal for int() with base 10: 'p'

【解決可能出現的異常】

輸入一個負整數 - 輸入的數<0,請重新輸入
輸入0 -輸入的數=0,請重新輸入
輸入一個小數 - 用except語句拋出ValueError異常
輸入內容非數據類型 - 用except語句拋出ValueError異常

【代碼示例:99-1.py】

def print_numbers(n):    for i in range(n):print(i, end=" ")    try:n = int(input("請輸入數字 n: "))while n<= 0:n = int(input("輸入的數字小于等于0,請重新輸入數字 n: "))print_numbers(n)
except ValueError as e:print("您輸入的不是正整數!", e)

源代碼請到金山文檔對應文件夾下載。

【終端輸出】

在這里插入圖片描述

【代碼解析】

def print_numbers(n): 

定義了一個名為 print_numbers 的函數,該函數接受一個參數 n

for i in range(n):

使用 for 循環遍歷從 0 到 n-1 的數字。

print(i, end=" ")  

打印每個數字 i,并以空格作為分隔符。

try:    

try…except 是捕獲異常語句。

try 語句塊中的代碼會被執行。

如果執行過程中出現了異常,就會跳轉到 except 語句塊中的代碼執行。

n = int(input("請輸入數字 n: "))   

提示用戶輸入一個數字,并將其轉換為整數類型,賦值給變量 n。

while n<= 0:      

當輸入的數字小于等于 0 時,進入循環。

n = int(input("輸入的數字小于等于0,請重新輸入數字 n: "))    

輸入的數字小于等于 0 時,提示用戶重新輸入一個數字,并將其轉換為整數類型,賦值給變量 n。

print_numbers(n)

當輸入的數字為正整數時,執行該語句。

調用函數 print_numbers,傳入參數 n,以打印從 0 到 n-1 的數字序列。

調用函數語法函數名(參數列表)

except ValueError as e:   

當輸入的內容不是數據類型,就會執行except語句。

  • except:關鍵字。

  • ValueError:異常名稱。

  • as:關鍵字。

  • e可選參數,表示給前面的的異常指定一個別名,該別名可根據你的喜歡命名。

print("您輸入的不是正整數!", e)

打印出錯誤消息,指示用戶輸入的不是一個正整數。

e可以輸出該語句:ValueError: invalid literal for int() with base 10: 'p'

有關異常語句的相關內容可參考下面的鏈接:

95. Python基礎教程:異常處理try…except語句

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35448.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35448.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35448.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux一些常見的命令

1. 基礎命令 1. ls&#xff1a; 列出目錄內容。- 例如&#xff1a;ls -l 以長格式列出文件和目錄。2. cd&#xff1a; 切換工作目錄。- 例如&#xff1a;cd /home/user 進入 /home/user 目錄。3. pwd&#xff1a; 顯示當前工作目錄的路徑。4. mkdir&#xff1a; 創建新目錄。-…

flink-對齊和不對齊,精準一次和至少一次

精準一次怎么保證&#xff1f;可以設置為以下2個 對齊 當有一個barrier比較快時&#xff0c;輸入緩沖區阻塞&#xff0c;當另外一個barrier到來時&#xff0c;才進行備份&#xff0c;所以數據不會重復。優點&#xff1a;不會造成數據重復缺點&#xff1a;會造成數據積壓&#x…

ChatGPT Plus和ChatGPT對比

模型規模更大&#xff0c;參數數量超過6萬億&#xff0c;比ChatGPT大很多訓練數據更豐富&#xff0c;包括不同語言、領域和類型的數據語言理解和生成能力更強&#xff0c;能夠更準確地理解和生成文本可解釋性和可控性更好&#xff0c;支持更多的調參和控制參數&#xff0c;生成…

uni-app和springboot完成前端后端對稱加密解密流程

概述 使用對稱加密的方式實現。前端基于crypto-js。uni-app框架中是在uni.request的基礎上&#xff0c;在攔截器中處理的。springboot在Filter中完成解密工作。 uni-app 項目中引入crypto-js。 npm install crypto-js加密方法 const SECRET_KEY CryptoJS.enc.Utf8.parse(…

最強自動化測試框架Playwright(20)- iframe

一個頁面可以附加一個或多個 Frame 對象。每個頁面都有一個主框架&#xff0c;并且假定頁面級交互&#xff08;如&#xff09;在主框架中運行。click frame_locator 使用 iframe 時&#xff0c;可以創建一個框架定位器&#xff0c;該定位器將進入 iframe 并允許選擇該 iframe…

idea模板的使用(配置xml文件模板)

1. 問題的引出 我們在日常項目中可以發現&#xff0c;sql映射文件和mybatis主配置文件&#xff0c;以及application.yml文件中有很多固定不變的內容&#xff0c;為了方面使用&#xff0c;所以可以把這些xml文件設置為模板 2. 創建模板的步驟 按照圖片一步一步進行即可 點擊…

gcc編譯選項之預處理向源碼傳參和條件編譯

一、是什么? 預處理:是指在進行加工前準備工作. gcc 選項 文件名字 二、使用步驟 1.向源碼傳參 gcc -save-temps -DSENSOR_TYPE=SONY_IMX477_MIPI_8M_30FPS_12BIT hello.c -o hello 代碼如下(示例): #include <stdio.h> #include <stdlib.h>typedef enum …

acwing 平衡括號字符串 貪心 括號序列

&#x1f468;?&#x1f3eb; 平衡括號字符串 給定一個字符串 s s s&#xff0c;該字符串的每個字符都是 (、) 或 # 之一。 你的任務是將 s s s 中的每個 # 變換為一個或多個 )&#xff0c;從而得到一個平衡括號字符串。 不同 # 變換的 ) 的數量可以不同。 請你輸出為了…

數據容器——元組(tuple)

1、元組與列表的不同點 列表是可以修改的。如果想要傳遞的信息&#xff0c;不被算改&#xff0c;列表就不合適了。 元組同列表一樣&#xff0c;都是可以封裝多個、不同類型的元素在內。 但最大的不同點在于&#xff1a;元組一旦定義完成&#xff0c;就不可修改 所以&#xff…

2023河南萌新聯賽第(五)場:鄭州輕工業大學 --01分數規劃

題目描述 給定一個字符串 s&#xff0c;僅含 0, 1, ? 三種字符&#xff0c;你必須將所有 ? 替換為 1 或 0 。 定義 s 的美好值為將所有?進行替換后&#xff0c;s的最長連續 1 或 0 的子串的長度。請你進行所有替換后&#xff0c;使得字符串 s 的美好值最大&#xff0c;請輸…

(二)結構型模式:1、適配器模式(Adapter Pattern)(C++實現示例)

目錄 1、適配器模式&#xff08;Adapter Pattern&#xff09;含義 2、適配器模式應用場景 3、適配器模式的UML圖學習 4、C實現適配器模式的示例 1、適配器模式&#xff08;Adapter Pattern&#xff09;含義 將一個接口轉換為客戶端所期待的接口&#xff0c;從而使兩個接口…

CompletableFuture

java8中新引入了批量線程處理類CompletableFuture CompletableFuture.allOf是與的關系, 每個都要執行完 CompletableFuture.anyOf是或的關系, 其中一個執行完 以下示例代碼: CompletableFuture.allOf(CompletableFuture.runAsync(() -> {Thread.currentThread().setName(&q…

js常用的方法函數

JavaScript 中有許多常用的內置方法和函數&#xff0c;用于處理字符串、數組、對象、日期等不同類型的數據。以下是一些常見的 JavaScript 方法和函數&#xff1a; 字符串操作&#xff1a; str.length: 返回字符串的長度。 str.charAt(index): 返回指定位置的字符。 str.indexO…

Mac安裝nvm教程及使用

nvm 是 node 版本管理器&#xff0c;也就是說一個 nvm 可以管理多個 node 版本&#xff08;包含 npm 與 npx&#xff09;&#xff0c;可以方便快捷的安裝、切換 不同版本的 node。 1、直接通過brew安裝 執行命令&#xff1a;brew install nvm PS&#xff1a; 如果沒有安裝br…

Golang - 生成和讀取toml文件

代碼示例&#xff1a; package mainimport ("fmt""github.com/pelletier/go-toml""os""path" )func CreateToml(tomlPath string) {tree, err : toml.Load("")if err ! nil {fmt.Println("Error while creating empt…

Oracle database 靜默安裝 oracle 11g 一鍵安裝

基于oracle安裝包中應答文件實現一鍵安裝 支持環境&#xff1a; Linux &#xff1a;centerOS 7 oracle &#xff1a;11.2.0 Oracle應答文件 runInstaller應答文件 /database/response/db_install.rsp netca應答文件 /database/response/netca.rsp dbca應答文件 /database/re…

小程序保留2位小數據,不四舍五入

方法1&#xff1a; parseInt toFixed /* * 保留2位小數&#xff0c;不四舍五入 * 5.992550 >5.99 , 2 > 2.00 * */ const toFixed2Decimal (value) > {return (parseInt(value*100)/100).toFixed(2) } console.log(587.67*100) console.log(toFixed2Decimal(587.67…

python中的運算符號含義,python基本運算符的操作

本篇文章給大家談談python的運算符號有哪些類型&#xff0c;以及python各運算符號的功能說明&#xff0c;希望對各位有所幫助&#xff0c;不要忘了收藏本站喔。 1.算數運算符&#xff08;最常見的&#xff09; 標準算數運算符&#xff08;加減乘除&#xff09; 取余運算…

(provider: SSL Provider, error: 0 - 證書鏈是由不受信任的頒發機構頒發的。)

問題描述 NET6 Code First 使用Update-database時 報錯&#xff1a;A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 證書鏈是由不受信任的頒發機構頒發的。) 解決方…

UML-狀態圖

目錄 狀態圖 狀態圖的圖符 狀態機 狀態 ?轉換 電話機狀態圖 活動圖和狀態圖區別&#xff1a; 狀態圖 狀態圖(Statechart Diagram)是描述一個實體基于事件反應的動態行為&#xff0c;顯示了該實體如何根據當前所處的狀態對不同的事件做出反應。通常我們創建一個UML狀態…