4.從輸入輸出到基本運算符的學習

来源:https://www.cnblogs.com/csfy0524/p/18389491
-Advertisement-
Play Games

原文地址https://blog.fanscore.cn/a/61/ 1. wssh 1.1 開發背景 公司內部的發佈系統提供一個連接到k8s pod的web終端,可以在網頁中連接到k8s pod內。實現原理大概為通過websocket協議代理了k8s pod ssh,然後在前端通過xterm.js ...


主要是輸入輸出的內容

1.互動式輸入
2.格式化輸出
    1 占位符輸出
    2 format輸出
    3 f-string輸出
3.基本運算符
    1.算術運算符
    2.比較運算符
    3.賦值運算符
    4.邏輯運算符
    5.身份運算符
4.賦值方法
    1.鏈式賦值
    2.交叉賦值
5.解壓縮
6.作業

1 互動式輸入

這裡主要講的是與input()函數的交互,其實交互的意思就是可以讓用戶個人來提供輸入信息

name = input("name<<<")
age = input('age<<<')
height = input('height<<<')
print("my name is:"+name+", my age is:"+age+", my height is"+height+'.')
name<<<xiaocao
age<<<22
height<<<170
my name is:xiaocao, my age is:22, my height is170.
print("my name is:"+name+", my age is:"+age+", my height is"+height+'.')
print('*'*100)
print(type(name))
print(type(age))
print(type(height))
my name is:xiaocao, my age is:22, my height is170.
****************************************************************************************************
<class 'str'>
<class 'str'>
<class 'str'>

這裡主要註意input的輸出類型為str,可以直接使用在input前面增加int,float進行數據類型轉換

print(type(int(age)))
<class 'int'>

2 格式化輸出

這裡三種占位符,format和f-string

還是用上面的例子來打比方

2.1 占位符

name = input("name<<<")
age = input('age<<<')
height = input('height<<<')
print("my name is %s, my age is %s, my height is %s."%(name,age,height))
name<<<xiaocao
age<<<18
height<<<170
my name is xiaocao, my age is 18, my height is 170.
name = input("name<<<")
age = int(input('age<<<'))
height = int(input('height<<<'))
print("my name is %s, my age is %d, my height is %d."%(name,age,height))
name<<<xiaocao
age<<<18
height<<<170
my name is xiaocao, my age is 18, my height is 170.

%d占位符表示的是數字,如果是字元串類型則會報錯

2.2 format形式

這個就是將占位符更換成大括弧了

與占位符的區別:可以調整順序

print("my name is {}, my age is {}, my height is {}.".format(name,age,height))
print("my age is {1}, my name is {0}, my height is {2}.".format(name,age,height))
print("my name is {}, my age is {}, my height is {:.2f}.".format(name,age,height))
my name is xiaocao, my age is 18, my height is 170.
my age is 18, my name is xiaocao, my height is 170.
my name is xiaocao, my age is 18, my height is 170.00.

以前:format的形式好難呀,看到就頭疼

現在:?怎麼可以這麼清晰,而且還可以用markdown來寫文檔了

2.3 f-string的形式

哇,這個簡直就是絕,直接在大括弧內部添加內容

name = input("name<<<")
age = input('age<<<')
height = input('height<<<')
print(f"my name is {name}, my age is {age}, my height is {height}.")
name<<<ciaocao
age<<<18
height<<<170
my name is ciaocao, my age is 18, my height is 170.
print(f"my name is {name}, my age is {int(age)+1}, my height is {height * 10}.")
my name is ciaocao, my age is 19, my height is 170170170170170170170170170170.
print(f"my name is {name}, my age is {age+1 :.2f}, my height is {height * 10}.")
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

Cell In[15], line 1
----> 1 print(f"my name is {name}, my age is {age+1 :.2f}, my height is {height * 10}.")


TypeError: can only concatenate str (not "int") to str
print(f"my name is {name}, my age is {int(age)+1 :.2f}, my height is {height * 10}.")
my name is ciaocao, my age is 19.00, my height is 170170170170170170170170170170.

雖然這個例子有些不合理吧,但是表達的意思倒是聽清楚的

哈哈哈哈哈哈哈哈哈哈哈哈

保留報錯的原因,是因為這個很經典,忘記將其轉換為數字類型報錯啦

3 基本運算符

3.1 算術運算符

顧名思義,用於計算數值間的值的運算符

1+2
3
1-2
-1
1/2
0.5
1//2
0
1%2
1

3.2 比較運算符

用於比較數值大小用的

1>2
False
2>1
True
7>=2
True
7<=2
False
8==8
True
1 != 2
True

3.3 賦值運算符

就是將數值賦值給一個變數

y =5
print(y)
5

3.4 邏輯運算符

三種形式 and or not

1>1 and 1>2
False
1>1 or 1<2
True
#0表示的就是錯的意思
not 0
True

3.5 身份運算符

一般就是比較兩個id是否相同,用 is 來表示

x = 300
y = 300
print(x == y)
print(id(x)==id(y))
print (x is y)
True
False
False

4 賦值方式

這一塊主要說明這些方法較一些C語言而言要簡單

鏈式賦值

交叉賦值

4.1 鏈式賦值

這個好理解,跟一條鏈子一樣,左邊有幾個變數右邊就有幾個數值

#這樣會很麻煩
x = 10
y = 10
z = 10
print(x,y,z)
a ,b =10,20
print(a,b)
10 10 10
10 20

4.2 交叉賦值

這個就是說白了,更換變數

a = 10
b = 20
print(a,b)
10 20
a = 10
b = 20
c = a
a = b
b = c
print(a,b)
20 10
a,b =b,a
print(a,b)
10 20

5 解壓縮

解壓縮的目的就是在列表裡面中間不要的信息過多,需要進行忽略,只留下對我們而言重要的信息

方法1:日常使用過程,如果想給列表裡的每個值進行出來,則可以使用

hobby = ['piao','666']
x ,y =hobby
print(x,y)
piao 666

如果取出來有我們不想要的值,則可以用下劃線來代替

hobby_list = ['piao','666',2333,999,'handsome']
_,hobby1,_,_,hobby2 = hobby_list
print(hobby1,hobby2)
666 handsome

如果在使用過程中取中間兩個數,其他數字進行省略可以用星號加下劃線

hobby_list = ['piao','666',2333,999,'handsome','read','run','music','swimming','football','basketball','baterminten']
_,hobby1,_,hobby2,*_ = hobby_list
print(hobby1,hobby2)
666 999

6 作業

6.1 作業1

用三種格式化方式進行輸出

name = 'xiaocao'
height = 180
weight = 100
print("My name is %s, my height is %d, my weight is %d"%(name,height,weight))
print("My name is {}, my height is {}, my weight is {}".format(name,height,weight))
print(f"My name is {name}, my height is {int(height)}, my weight is {weight}")
My name is xiaocao, my height is 180, my weight is 100
My name is xiaocao, my height is 180, my weight is 100
My name is xiaocao, my height is 180, my weight is 100

6.2 一行代碼實現交互

x = 10

y = 10

z = 10

x,y,z =10,10,10
print(x,y,z)
10 10 10

6.3 交換數值

x = 10
y = 10

x = 10
y = 20
x,y =y,x
print(x,y)
20 10

6.4 取出想要的愛好

hobby_list = ['read','run','music','code']

hobby_list = ['read','run','music','code']
print(hobby_list[1:3])
_,hobby1,hobby2,_ = hobby_list
print(hobby1,hobby2)
['run', 'music']
run music

總結

1.首先是markdown語法的學習,成功開始開啟我的博客生涯
2.關於電腦的系統,有了一個更清晰的認識
3.使用jupyter開始寫代碼
4.常量和變數的定義,記憶體的存儲方式,數據類型
    1.記憶體存儲會計數,有的id會相同有的不會
    2.數字類型(整數和浮點數),字元串類型,列表類型,字典類型,布爾類型
5.關於編程的輸入輸出以及基本運算符
    1.互動式輸入,即可以讓用戶看到,用input函數
    2.輸出三種類型,占位符,format和f-string,掌握的是f-string
    3.基本運算符五種,算數,比較,賦值,邏輯和地址
6.數值賦值的兩種方式:鏈式和交叉
7.解壓縮,我所掌握的一個點就是下劃線在這裡是表示省略內部的一些數據的意思


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 寫在前面 1447 字 | 感觸 | 見聞 | 孩子 | 童真 | 天性 正文 晚上。跳舞。 老師有很多學生,幾乎都念小學,大的不過五年級。小孩子。 今晚只來了一個。其他的孩子據說都在寫作業。 這幾天老師都打算回歸街舞本源,去街上跳舞,於是讓我們大包小包拿東西。 音箱、地膠、小型探照燈,水杯什麼的。 ...
  • 概述 租約機制指在租約期限內,擁有租約的節點有權利操作一些預設好的對象,具體如下 租約是由授權者授予的一段時間內的承諾 授權者一旦發出租約,則無論接受方是否收到,也無論後續接收方處於何種狀態,只要租約不過期,授權者就得遵守承諾,按承諾的時間和內容執行。 接收方在有效期內可以使用授權者的租約,如果租約 ...
  • 單欄位和多欄位重寫hashcode 在 Java 中,重寫 hashCode 方法的場景通常與對象的哈希值計算有關,特別是在使用哈希表(如 HashMap, HashSet 等)時。下麵是你提供的兩種 hashCode 實現的具體使用場景分析: 1. 第一種實現 @Override public b ...
  • OpenCV(Open Source Computer Vision Library)是一個開源的電腦視覺和機器學習軟體庫,旨在提供一個跨平臺的、易於使用的、快速執行的電腦視覺介面。如果只是簡單的使用,其實不必要像筆者這樣使用源代碼進行構建,直接使用官方提供的二進位安裝包即可。一般來說,需要從源 ...
  • 寫在前面 4002 字 | 陪伴 | 親密關係 | 患難與共 《理想雪》系列故事均為架空世界觀,所有人名、地名等與現實世界無任何關聯。 該系列只且僅只為了說明,小說作者在該情境下會誕生的想法和採取的行動,以及背後的世界觀、價值觀和人生觀。因此將具有強烈的個人風格。 未經授權,禁止轉載。僅供小範圍內閱 ...
  • 帶箭頭的直線就是有方向的直線,既可以用來表示矢量,也可以用來標記某個關鍵位置。manim中提供了4種常用的帶箭頭的直線模塊: Arrow:單箭頭的直線 DoubleArrow:雙箭頭的直線 LabeledArrow:帶標簽的直線 Vector:向量 其中,DoubleArrow,LabeledArr ...
  • 六,Spring Boot 容器中 Lombok 插件的詳細使用,簡化配置,提高開發效率 @目錄六,Spring Boot 容器中 Lombok 插件的詳細使用,簡化配置,提高開發效率1. Lombok 介紹2. Lombok 常用註解2.1 @ToString2.2 @Setter2.3 @Dat ...
  • Springboot黑馬點評(3)——優惠券秒殺 【還剩Redisson的最後兩節沒測試 後續補上】 另外,後期單獨整理一份關於分散式鎖筆記 1 優惠券秒殺實現 1.1 用戶-優惠券訂單設計 1.1.1 全局ID生成器 使用資料庫自增ID作為訂單ID存在問題 1.1.2 考慮全局唯一ID生成邏輯 時 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 推薦一款基於.NET 8、WPF、Prism.DryIoc、MVVM設計模式、Blazor以及MySQL資料庫構建的企業級工作流系統的WPF客戶端框架-AIStudio.Wpf.AClient 6.0。 項目介紹 框架採用了 Prism 框架來實現 MVVM 模式,不僅簡化了 MVVM 的典型 ...
  • 先看一下效果吧: 我們直接通過改造一下原版的TreeView來實現上面這個效果 我們先創建一個普通的TreeView 代碼很簡單: <TreeView> <TreeViewItem Header="人事部"/> <TreeViewItem Header="技術部"> <TreeViewItem He ...
  • 1. 生成式 AI 簡介 https://imp.i384100.net/LXYmq3 2. Python 語言 https://imp.i384100.net/5gmXXo 3. 統計和 R https://youtu.be/ANMuuq502rE?si=hw9GT6JVzMhRvBbF 4. 數 ...
  • 本文為大家介紹下.NET解壓/壓縮zip文件。雖然解壓縮不是啥核心技術,但壓縮性能以及進度處理還是需要關註下,針對使用較多的zip開源組件驗證,給大家提供個技術選型參考 之前在《.NET WebSocket高併發通信阻塞問題 - 唐宋元明清2188 - 博客園 (cnblogs.com)》講過,團隊 ...
  • 之前寫過兩篇關於Roslyn源生成器生成源代碼的用例,今天使用Roslyn的代碼修複器CodeFixProvider實現一個cs文件頭部註釋的功能, 代碼修複器會同時涉及到CodeFixProvider和DiagnosticAnalyzer, 實現FileHeaderAnalyzer 首先我們知道修 ...
  • 在軟體行業,經常會聽到一句話“文不如表,表不如圖”說明瞭圖形在軟體應用中的重要性。同樣在WPF開發中,為了程式美觀或者業務需要,經常會用到各種個樣的圖形。今天以一些簡單的小例子,簡述WPF開發中幾何圖形(Geometry)相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 在 C# 中使用 RabbitMQ 通過簡訊發送重置後的密碼到用戶的手機號上,你可以按照以下步驟進行 1.安裝 RabbitMQ 客戶端庫 首先,確保你已經安裝了 RabbitMQ 客戶端庫。你可以通過 NuGet 包管理器來安裝: dotnet add package RabbitMQ.Clien ...
  • 1.下載 Protocol Buffers 編譯器(protoc) 前往 Protocol Buffers GitHub Releases 頁面。在 "Assets" 下找到適合您系統的壓縮文件,通常為 protoc-{version}-win32.zip 或 protoc-{version}-wi ...
  • 簡介 在現代微服務架構中,服務發現(Service Discovery)是一項關鍵功能。它允許微服務動態地找到彼此,而無需依賴硬編碼的地址。以前如果你搜 .NET Service Discovery,大概率會搜到一大堆 Eureka,Consul 等的文章。現在微軟為我們帶來了一個官方的包:Micr ...
  • ZY樹洞 前言 ZY樹洞是一個基於.NET Core開發的簡單的評論系統,主要用於大家分享自己心中的感悟、經驗、心得、想法等。 好了,不賣關子了,這個項目其實是上班無聊的時候寫的,為什麼要寫這個項目呢?因為我單純的想吐槽一下工作中的不滿而已。 項目介紹 項目很簡單,主要功能就是提供一個簡單的評論系統 ...