Python | 平均績點

  • 字符串的概念和特點

字符串既可以使用單引號'',也可以使用雙引號""來創建

可以使用+運算符來拼接字符串,并返回字符串拼接后的結果。

first_name = "Tom"
last_name = "Jerry"
full_name = first_name + " " + "and" + " " + last_name
# full_name 現在是 Tom and Jerry
  • 字符串的創建、索引、元素的訪問以及遍歷操作

索引、for循環遍歷、切片獲取子字符串(切片后會返回新字符串,需要一個變量來接受)

  • 字符串的常用方法

len()、split()

join():?將列表中的字符串連接成一個新的字符串,你可以指定連接符號,比如下面的示例。

persons = ["tom", "jerry", "mike"]
text = " ".join(persons)
#將列表中的字符串以空格連接在一起,相當于split的反向操作。"tom jerry mike"

replace():?用于替換字符串中的指定子字符串。

str1 = "Hello, world!"
str2 = str1.replace("World", "Python")
  • 格式化字符串

在Python中,整數相除會得到浮點數結果,即使結果是一個整數,也會以浮點數的形式表示。(如果用//呢?)

想要在Python中輸出保留兩位小數的數字,可以使用format()方法,?format()方法通常用于字符串中的占位符替換,占位符通常用花括號?{}?表示。你可以將占位符插入到字符串中,然后使用?format()?方法來將實際值插入這些占位符。

number = 3.1415926
# {}是一個占位符,輸出結果時會將format()參數里的內容替換在{}中,:.2f 表示保留兩位小數
formatted_number = "{:.2f}".format(number)
print(formatted_number)

為什么要用雙引號“{ }”呢?是因為變量類型是字符串?還是只有語法的要求?

  • flag編程思想

當循環遇到{A, B, C, D, F}以及空格之外的字符時,會輸出"Unknown", 然后退出for循環的執行,但是仍然會執行循環之后的語句,即print語句,實際上,這行代碼不應該被執行,應該怎樣做才能避免這行代碼的執行呢?

我們知道if(條件)可以控制語句的執行,當條件為真的時候,if結構體中的代碼可以執行,條件為假的時候則不用執行,所以我們可以聯想到下面的形式:

if condition:print("{:.2f}".format(sum_grade / count))

也就是說,我們可以采用這樣一種思路,事先給每一行字符串一個“真的令牌”,字符串遍歷處理過程中,如果有哪一行字符串中有{A, B, C, D, F}以及空格之外的字符,則把“真令牌”替換成“假令牌”,這樣當走出循環之后再進行輸出處理時,就會因為不認識這個“假令牌”而不進行輸出。

字符串的格式化輸出

  • 使用%操作符進行格式化
name = "張三"
age = 20formatted_string = "姓名:%s, 年齡:%d " % (name, age)
print(formatted_string)

使用%會將后面的變量name, age一一對應插入到對應的占位符上,其中%s表示字符串,%d表示整數,?%f表示浮點數。

  • 字符串format()方法
name = "張三"
age = 20formatted_string = "姓名:{}, 年齡:{}".format(name, age)
print(formatted_string)

format()方法允許使用占位符{}來插入值,并使用format()方法的參數來提供要插入的值,和上面的操作符很類似。

  • f-字符串

f開頭,后面跟著字符串,字符串中的表達式用大括號 {} 包起來,它會將變量或表達式計算后的值替換進去。

name = "張三"
age = 20formatted_string = f"姓名: {name},年齡:{age}"
print(formatted_string)

while True:try:s = input()score = 0count = 0# flag = 1for c in s:flag = 1# count += 1if c == "A":score += 4count += 1elif c == "B":score += 3count += 1elif c == "C":score += 2count += 1elif c == "D":score += 1count += 1elif c == "F":score += 0count += 1elif c == " ":continueelse:flag = 0print("Unknown")breakif flag:print("{:.2f}".format(score/count))except:break

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

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

相關文章

OCR圖片轉Excel表格:沒結構化的弊端

隨著OCR技術的不斷發展,將表格圖片轉為excel已不再是難題,但是,目前市面上的程序還大多處于僅能將圖片表格轉為普通的excel格式階段,而不能將其結構化,這樣就會產生許多的弊端,具體弊端如下: &l…

數據容器的通用操作、字符串大小比較 總結完畢!

1.數據容器的通用操作 1)五類數據容器是否都支持while循環/for循環 五類數據容器都支持for循環遍歷 列表、元組、字符串都支持while循環,集合、字典不支持(無法下標索引) 盡管遍歷的形式不同,但都支持遍歷操作 2&a…

辦公軟件 Office 安裝教程(親測有效)

Office 現已更名為 Microsoft 365。習慣還是稱作 Office。 1、Office 套裝下載 Windows 的樣子 這里下載的是最新版本的 O365ProPlus 安裝完成后,點擊關閉(請先不要打開)。 Mac 的樣子 這里下載的是Office for Mac 2019(更多版…

QNAP的jellyfin無法使用TMDB刮削的問題

解決方法很簡單,修改QNAP的HOSTS文件 使用DNS Checker工具查詢對應IP: image.tmdb.org api.themoviedb.org www.themoviedb.org 打開hosts文件,添加下列內容,wq保存 [~] # vi /etc/hosts 169.150.249.166 image.tmdb.org 103.2…

速遞FineWeb:一個擁有無限潛力的15T Tokens的開源數據集

大模型技術論文不斷,每個月總會新增上千篇。本專欄精選論文重點解讀,主題還是圍繞著行業實踐和工程量產。若在某個環節出現卡點,可以回到大模型必備腔調或者LLM背后的基礎模型新閱讀。而最新科技(Mamba,xLSTM,KAN)則提…

【TB作品】MSP430F149單片機,6通道ADC,串口發送

功能 用6個引腳采集ADC,串口發送到電腦 部分程序 /** Otherwise, the compiler removes it* because it is not used for anything.*/ int kaiguanliang[4]; /* 四個開關量 */unsigned char adok_ifg 1; …

內核宕機自救

【問題】在測試內核級防篡改時,偶爾會遇到內核宕機的問題 【結論】進入緊急救援模式,將服務進程文件的start注釋掉,即可 在Linux系統啟動時,內核啟動順序選擇界面,進入系統歡迎界面按上下左右鍵進入GRUB界面&#xff…

歐佩克+同意集體性減產延長,油價能否穩住?

KlipC報道:歐佩克組織同意將延長目前部分減產協議至2025年,以支撐油價。主要成員國把2023年11月宣布的日均220萬桶的自愿減產措施延長至今年9月底,將在10月份根據市場情況開始縮減自愿減產規模。 高盛分析師表示,“我們認為這次歐…

python常見數據分析函數

apply DataFrame.apply(func, axis0, broadcastFalse, rawFalse, reduceNone, args(), **kwds) 第一個參數是函數 可以在Series或DataFrame上執行一個函數 支持對行、列或單個值進行處理 import numpy as np import pandas as pdf lambda x: x.max()-x.min()df pd.DataFrame(…

高端、大氣、很牛B的免費wordpress模板主題

這是一款專為WordPress打造的極簡主義風格主題,以白色和黑色為主色調,搭配紅色點綴,營造出一種簡潔、專業且具有視覺沖擊力的效果。 該主題的設計理念是“簡單即美”,旨在幫助用戶快速搭建一個美觀、易用的網站。它提供了豐富的自…

動態sql set標簽 , trim標簽

set標簽 來看例子 set標案解決了逗號問題(當if條件不滿足時,逗號無處安放的問題),我認為set標簽可以識別這個問題,并自動忽略這個問題 <update id"update">update employee<set><if test"name!null">name#{name},</if><if te…

使用 Python 處理 Excel 表格數據的實用技巧

簡介 在日常工作中&#xff0c;處理 Excel 表格數據是一項常見的任務。Python 提供了豐富的庫和工具&#xff0c;能夠幫助我們高效地處理 Excel 數據。本篇博客將介紹如何使用 openpyxl 庫來讀取 Excel 表格并進行數據處理&#xff0c;同時展示一個實際案例&#xff0c;說明如…

3079. 求出加密整數的和

給你一個整數數組 nums &#xff0c;數組中的元素都是 正 整數。定義一個加密函數 encrypt &#xff0c;encrypt(x) 將一個整數 x 中 每一個 數位都用 x 中的 最大 數位替換。比方說 encrypt(523) 555 且 encrypt(213) 333 。 請你返回數組中所有元素加密后的 和 。 示例 1&…

HTML基本元素包含HTML表單驗證

可將以下代碼復制另存為一個HTML文件瀏覽器打開自己去看看實際使用效果 <!DOCTYPE html> <html> <head> <meta charset"utf-8"><title>測試</title> </head> <body> <h1>很多事</h1> <h1><b&…

多項分布模擬及 Seaborn 可視化教程

多項分布 簡介 多項分布是二項分布的推廣&#xff0c;它描述了在 n 次獨立試驗中&#xff0c;k 種不同事件分別出現次數的離散概率分布。與二項分布只能有兩種結果&#xff08;例如成功/失敗&#xff09;不同&#xff0c;多項分布可以有 k 種&#xff08;k ≥ 2&#xff09;及…

Nginx的Location匹配與Rewrite重寫

目錄 一.Nginx中location與rewrite 1.Nginx中常用正則表達式 2.location與rewrite的聯系和區別 二.location概述 1.分類 2.匹配規則 3.優先級 4.示例 三.rewrite概述 1.rewrite功能 2.rewrite執行順序 3.跳轉實現 4.語法格式 5.示例 5.1.基于域名的跳轉 5.2.基…

四、利用啟發式算法進行特定數據集的殘差網絡結構搜索【框架+源碼】

背景&#xff1a;工作之后干的事情跟算法關聯甚少&#xff0c;整理下讀書期間的負責和參與的work&#xff0c;再熟悉學習下。 邊熟悉邊整理嘍~ CV Tradictional workCV AI based work機械臂視覺抓取項目機器學習全流程 Pipeline訓練平臺OCR生產線噴碼識別三維重建(SfM)ROS機器人…

C++的vector使用優化

我們在上一章說了如何使用這個vector動態數組&#xff0c;這章我們說說如何更好的使用它以及它是如何工作的。當你創建一個vector&#xff0c;然后使用push_back添加元素&#xff0c;當當前的vector的內存不夠時&#xff0c;會從內存中的舊位置復制到內存中的新位置&#xff0c…

Spring 之 Lifecycle 及 SmartLifecycle

最近在看Eureka源碼&#xff0c;本想快速解決這場沒有硝煙的戰役&#xff0c;不曾想阻塞性問題一個接一個。為正確理解這個框架&#xff0c;我不得不耐著性子&#xff0c;慢慢梳理這些讓人困惑的點。譬如本章要梳理的Lifecycle和SmartLifecycle。它們均為接口&#xff0c;其中后…

mysql的鎖(全局鎖)

文章目錄 mysql按照鎖的粒度分類全局鎖概念&#xff1a;全局鎖使用場景&#xff1a;全局鎖備份案例&#xff1a; mysql按照鎖的粒度分類 全局鎖 概念&#xff1a; 全局鎖就是對整個數據庫實例加鎖。MySQL 提供了一個加全局讀鎖的方法&#xff0c;命令是: Flush tables with…