PYTHON程序设计基础-运算符&数据类型&I/O

PYTHON学习-运算符&数据类型&I/O

注:该类博文为博主在学习过程中总结的笔记。

1.print()输出函数

在控制台输出一段文本信息(用一对双引号标记)

1.1 正常输出

print(“文本信息”)默认换行

>>>print("Hello World!")
Hello World!
>>>

print("Hello",end="\n")
# \n换行符 \t制表符
print("World!")
Hello
World!

Python在输出一段数据时,默认结尾加换行符"\n",同时也可加end指定结尾符号

1.2 连续输出

print(“文本信息1”,“文本信息2”,…)
前者与后者之间有一个空格 默认换行

>>> print("H","e","l","l","o","W","o","r","l","d","!")
H e l l o W o r l d !
>>> 
1.3 拼接型输出

print(“文本信息1” “文本信息2”)
在此处不为加法,而是用于字符串的拼接,为连接符

>>> print("Hello" "World!")
HelloWorld!
>>> 
1.4 重复输出

print(“文本信息”*n)
该文本信息重复n次

>>> print("haha"*3)
hahahahahaha
>>> print("haha\n"*3)
haha
haha
haha

>>> 
1.5 输出数字

首先,0x->16进制整数,0b->2进制整数,0o->8进制整数

注:该0b、0o、0x只标识之后的数,python输出的都为十进制数

>>> print(10) #十进制数
10
>>> print(0b10010) #二进制数
18
>>> print(0o225) #8进制数
149
>>> print(0x95) #16进制数
149

2.type()查看数据类型

type(数据):查看该数据的类型

>>> type("1") #字符串类型
<class 'str'>
>>> type(1) #整型
<class 'int'>
>>> type(True) #布尔类型
<class 'bool'>
>>> type(3.14) #浮点类型
<class 'float'>
>>> 

3.算数运算符

- * / // ** %

3.1 /加法运算

在加法运算中:
1.当 两边都为字符串时,则 为连接符
2.当 两边一边是字符串,另一边为非字符串时 报错,因为字符串不能和其他非字符串数据相加

>>> print(3 4)
7
>>> print(1 3.14)
4.140000000000001
>>> print("xixi" "hehe")
xixihehe

>>> print("1" 1)
Traceback (most recent call last):
  File "<pyshell#82>", line 1, in <module>
    print("1" 1)
TypeError: can only concatenate str (not "int") to str
>>> 
3.2 -/加法运算

在减法运算中,字符串不能进行减法运算

>>> print(3-1)
2
>>> print("xixi"-"xi")
Traceback (most recent call last):
  File "<pyshell#87>", line 1, in <module>
    print("xixi"-"xi")
TypeError: unsupported operand type(s) for -: 'str' and 'str'
>>> print(3.14-1)
2.14
>>> 
3.3 */乘法运算

在乘法运算中:
1.*号两边不能都为字符串
2.*号可以进行字符串的重复打印操作
3.当在乘法运算中出现bool值时,任何数(包括字符串)乘以True等于它本身
4.任何数乘以False都等于0,当字符串乘以False时为空

>>> print(3*4)
12
>>> print("abc"*3)
abcabcabc
>>> print(3*True)
3
>>> print(3*False)
0
>>> print(0*True)
0
>>> print(-1*True)
-1
>>> print(3.14*False)
0.0
>>> print(True*"True")
True
>>> print(False*"True")

>>> 
3.4 /除法运算

在除法运算中,是数学除法
注: -*/运算中bool值,也能进行数学运算,True=1,Flase=0

>>> print(4/2)
2.0
>>> print(4/3)
1.3333333333333333
>>> print(False/2)
0.0
>>> print(True/2)
0.5
>>> 

//整除运算

>>> print(10//3)
3
>>> 
4.4 %求余运算

求余运算-模运算,在有规律,有周期性的问题中常用

111日为周一,问:118号为周几?
	1%7=1 -> 1-周一 2-周二...6-周六 0-周天
	18%7=4118日为周四
例2:
	在五子棋中,黑棋先行,则0代表黑棋,1代表白棋
	n%2 0 1 n=1 2 3 ...
4.6 **幂运算
>>> print(2**4)
16
>>> print(9**0.5)
3.0
>>> print(3**-2)
0.1111111111111111
>>> print(16**0.25)
2.0
>>> 

4.数据类型

4.1 int()整型函数

int()函数可以进行取整操作
注:int()不能进行四舍五入操作,只能进行取整操作,四舍五入可用round()函数

>>> int(3.14)
3
>>> 
>>>> int(4.7)
4
>>> round(4.7)
5
>>> 

int()函数是将()内的数字字符串转为数字

  • int("",2)是指""内的数字字符串为2进制格式
  • int("",8)是指""内的数字字符串为8进制格式
  • int("",n)是指""内的数字字符串为n进制格式

注:int类型只支持2~36进制,且输入的数字字符串必须和进制相匹配

>>> int("123")
123
>>> type(int("123"))
<class 'int'>
>>> int("123") 123
246
>>> int("10010101",2)
149
>>> int("10010101",10)
10010101
>>> int("2341",8)
1249
>>> int("abcdefghijklmnopqrstuvwxyz",36)
8337503854730415241050377135811259267835
>>> int("99",7)
Traceback (most recent call last):
  File "<pyshell#146>", line 1, in <module>
    int("99",7)
ValueError: invalid literal for int() with base 7: '99'
>>> 
>>>
4.2 str()字符串类型函数

str():将一切的数据转化为字符串

>>> print("123" str(123))
123123
>>> print(int("123") 123)
246
4.3 float()浮点类型函数

将数字字符串转换为浮点类型数字

>>> float(1)
1.0
>>> float(1.231231231231231232134512352135213412)
1.2312312312312312
>>> type(float("123213.213123"))
<class 'float'>
>>> 
4.4 bool()布尔类型函数

bool类型的值只有两个,True&&False
bool(n)n不是0或None结果都为True

>>> bool(1)
True
>>> bool(0)
False
>>> bool(-1)
True
>>> bool(None)
False
>>> bool(0.1)
True
>>> 

5.input()输入函数

input()输入函数,它输入的一切皆为字符串

>>> input()
abc
'abc'
>>> 

我们在编程中通常要输入各种各样的数据,而且很少为字符串,所以此时需要进行函数嵌套的形式来达到输入数据类型的可控制性
最常见的为eval()函数

a=int(input("请输入一个数据:"))
请输入一个数据:2
>>> 
>>>> a
2
>>> a = eval(input("请输入一个数:"))
请输入一个数:123
>>> a
123
>>>
>>>> int("04")
4
>>> eval("04")
Traceback (most recent call last):
  File "<pyshell#31>", line 1, in <module>
    eval("04")
  File "<string>", line 1
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
>>> 

6.编程练习题

6.1 (计算表达式)编写程序显示下面表达式的结果

在这里插入图片描述

a=9.5
b=4.5
c=2.5
d=3
e=45.5
f=3.5
print((a*b-c*d)/(e-f))
6.2 (近似π)可以使用下面的公式计算

在这里插入图片描述
在这里插入图片描述

a=4
b=1
c=3
d=c 2
e=c 4
f=c 6
g=c 8
h=c 10
j=c 12
print("第一个算式的结果为:",(a*(b-c**-1 d**-1-e**-1 f**-1-g**-1)))
print("第二个算式的结果为:",(a*(b-c**-1 d**-1-e**-1 f**-1-g**-1 h**-1-g**-1)))
6.3(圆的面积和周长)使用下面的公式编写程序,显示半径是5.5的圆的面积和周长

area = radius × radius × π
perimeter = 2 × radius × π

π=3.14
radius=float(input("请输入圆的半径:"))
area = radius*radius*π
perimeter=2*radius*π
print("则该圆的面积为:",area)
print("则该圆的周长为:",perimeter)
6.4(将设置温度转化为华氏温度)编写一个从控制台读取摄氏温度并将它转变为华氏温度并予以显示的程序,转换公式如下

fahrenheit = (9 / 5) * celsius 32

示例:
在这里插入图片描述

celsius=int(input("Enter a degree in Celsius:"))
fahrenheit = (9 / 5) * celsius   32
print(celsius,"Celsius is",fahrenheit,"Fahrenheit")
6.5(计算圆柱体的体积)编写一个读取圆柱的半径和高并利用下面的公式计算圆柱体底面积和体积的程序:

area = radius * radius * π
volume = area * length

示例:
在这里插入图片描述

π=3.14
radius,length=eval(input("Enter the radius and length of a cylinder:"))
area = radius * radius * π
volume = area * length
print("The area is",area)
print("The volume is",volume)

Enter the radius and length of a cylinder:2,3
The area is 12.56
The volume is 37.68
>>> 

6.7(计算年数和天数)编写一个程序,提示用户输入分钟数(例如:1000000),然后将分钟转换为年数和天数并显示的程序。为了简单起见,假定一年有365天

示例:
在这里插入图片描述

minutes = eval(input("Enter the number of minutes: "))
years = int(minutes/525600)
days = int(((minutes%525600)/60)/24)
print(minutes,"minutes is approximately",years,"years and",days,"days")

Enter the number of minutes: 1000000000
1000000000 minutes is approximately 1902 years and 214 days
>>> 
6.8(分割数字)编写一个程序,提示用户输入四位整数并以反向顺序显示,这里是一个示例运行。

示例:

在这里插入图片描述

a = int(input("Enter an integer:"))
b = a%10
c = ((a//10)%10)
d = ((a//100)%10)
e = ((a//1000)%10)
print(b)
print(c)
print(d)
print(e)

Enter an integer:3156
6
5
1
3
>>>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章