30天学会 Python: Day 2-input啦!

变数

在程序中用来 暂存 资料和数值的物件(以後再讲物件是甚麽,挖坑+1),有点类似数学中的未知数
可以把变数想成是一个箱子,箱子上有标签(变数名称),里面装有一笔资料(变数值),且这笔数值可以改变

变数要先建立才能使用,就像是在数学中要先设未知数一样,在 Python 中语法是:

<变数名称> = <变数值>

建立一个叫 x,变数值是 10 的变数

x = 10

如果变数的型态是字串,文字内容要用单引号或双引号标记

name = "Jay"

print() 可以把变数值显示到视窗上

name = "Jay"
print(name)

用等号可以重新指派(设定)变数值,下面范例中:

  1. 第1行建立变数 x,值是10
  2. 第2行将 x(10)显示到视窗上
  3. 第3行设定变数 x 的值为20
  4. 第4行将 x(20)显示到视窗上
  5. 第5行设定变数 x 的值为20
  6. 第6行将 x(30)显示到视窗上
x=10
print(x)
x=20
print(x)
x=30
print(x)

Python 中同一个变数可以储存不同型别的资料
下面范例中,执行到第3行前 x 是整数型态,到第3行之後就变成字串了

x=10
print(x)
x='abc'
print(x)

虽然语法可以让我们用同一名称的变数储存不同型别的资料,但习惯上会避免这麽做,除非是以不同型别储存同一笔资料

数学运算子

运算子 是用来表示 运算 的符号,类似数学中的加/减号,运算元 是参与运算的物件,类似数学中的被加数/加数

数学运算子是用来表示数学计算的符号,加、减、乘、除分别是+, -, *, /

透过 print() 把运算的结果显示到视窗上

print(1+3)

运算的优先顺序和数学一样,先乘除後加减、括号优先处理

print(1+2*3-4/5)

乘号遇到括号时不能省略

print((1+2)*3)

在 Python 中,当运算结果有小数,或是运算元至少有一个浮点数时,运算结果就会以浮点数表示

print(16/0.5)
print(16/3)

这个例子中,第1行 16/0.5 的结果32虽然是整数,但因为 0.5 是浮点数所以运算的结果也是浮点数(有显示小数点)
第2行的两个数都是整数,但因为运算的结果有小数点,所以会以浮点数表示

可以用变数储存运算的结果

a=1+3
print(a)

变数可以用来做为运算元

a=0
b=10
print(a+b)
c=a*b
print(c)


除了加减乘除,程序语言中还有其他的数学运算子

除模(Modulo)

代表两数相除的余数,运算子是 %,主要用途有:

  • 判断 A 是不是 B 的倍数: A%B 的结果为0,代表 A 除以 B 等於0, AB 的倍数
  • 限制数值的范围: 当某数除模 n 时,结果只会有 n 种(0, 1, ...,n-1)
print(0%3, 1%3, 2%3, 3%3 , 4%3)

// 和 **

Python 还有两个独有的运算子,//**,代表 结果取整数的除法指数运算

遇到结果只能是整数的情况时,可以用 // 运算子做除法
下面例子中,6除以4是1.5,但因为 // 的结果会无条件舍去到整数,所以得到1

print(6//4)

** 可以计算指数

print(2**6)

运算元可以是负数和浮点数

print(-2**3)
print(2**0.5)

型别转换

同样的资料可以转换成不同型别,语法是

<型别>(<变数/数值>)

将字串 "123" 转换成整数型态,"12.5" 转换成浮点数型态
字串没办法进行数学运算,所以 ab 确实都是数字型态

a = int("123")
b = float("12.5")
print(a+10)
print(b+10)

如果是字串转换成数字,字串的内容必须是正常的数字,例如 '0', '125', '-5', '3.14',如果字串的内容不是数字('a', 'a125', '15-6', '.541')会造成错误而无法执行

型别转换是将资料其它型别 回传,所以被转换的资料本身不变
下面的 num 虽然被转换成字串,但 num 还是可以做数学运算,可以知道它还是整数型态(只有 s 是字串型态)

num=1234
s=str(num)
print(num+10)

input()

用於输入数值的函式,执行时视窗会变成可以打字的状态,当使用者按下 enter 键结束,并以字串回传输入的内容

当使用者按下 enter,使用者在视窗上打的文字会被读取并储存在变数 s

s = input()
print('刚刚输入的是:', s)

将字串转换成整数,可以对输入的数值进行计算

number1=input()
number2=input()
number1=int(number1)
number2=int(number2)

print(number1+number2)

函式的引数可以是另一个函式(就像是数学中可以有 f(g(x)) 一样),所以 input() 可以写在 int() 里面
范例中的第1行会先执行 input(),使用者按下 enter 後输入的内容(一个字串)被丢给 int() 转换成整数,最後指派给 number1

number1=int(input())
number2=int(input())

print(number1+number2)

挖坑清单:

  • 空字串的用途
  • 布林的用途
  • 物件

<<:  30天学会C语言: Day 2-世界泥豪

>>:  【Day 03】如何评估演算法的效率? Big O 与时间复杂度

Day 5. Hashicorp Nomad: How to configure one service advertise multiple ports

Hashicorp Nomad: How to configure one service adve...

【Day 09】C 的关系运算子与逻辑运算子

今天一开始,让我们先介绍一下,甚麽是关系运算子! 关系运算子 关系运算子顾名思义,就是用来比较两个变...

Day28--Bootstrap&CSS文字排版&样式(6)

对元素设置.font-weight-normal可以让文字和符号以预设呈现。 <p clas...

DAY5 - Side Project 主题:90天原子习惯挑战

荀子劝学篇中有一段是这样的: 「积土成山,风雨兴焉;积水成渊,蛟龙生焉;.....。故不积蹞步,无以...

每天来点 Vue.js 吧 目录&总结

tags: Vuejs 本次铁人作为进入 Vue 3 的前的粗浅回顾,简单介绍了 Vue 2 官网的...