数字和字符串

本节我们将了解最基础的数据类型,数字和字符串。打开你的Python REPL并写出以下语句。

  1. >>> a = 2
  2. >>> type(a)
  3. <class 'int'>
  4. >>> b = 2.5
  5. >>> type(b)
  6. <class 'float'>

这样你就定义了两个变量(“a”和“b”)它们保存了一些数字:变量“a”保存的是一个整数,而“b”保存的是一个实数。
我们现在可以使用刚才定义的两个变量或者其他数字来做些计算:

  1. >>> a + b
  2. 4.5
  3. >>> (a + b) * 2
  4. 9.0
  5. >>> 2 + 2 + 4 - 2/3
  6. 7.333333333333333

Python还支持字符串类型。字符串是一些连续的字符(比如一个单词),可以使用单引号或双引号来定义:

  1. >>> hi = "hello"
  2. >>> hi
  3. 'hello'
  4. >>> bye = 'goodbye'
  5. >>> bye
  6. 'goodbye'

你可以将两个字符串相加来连接它们,但你不能将两个不同的数据类型相加,比如一个字符串一个整数。

  1. >>> hi + "world"
  2. 'helloworld'
  3. >>> "Hello" + 3
  4. Traceback (most recent call last):
  5. File "<stdin>", line 1, in <module>
  6. TypeError: must be str, not int

不过你可以用乘来将原字符串翻倍:

  1. >>> "Hello" * 3
  2. 'HelloHelloHello'

数字部分练习

  1. 猜一下进行以下数学计算会发生什么: ((3 / 2)), ((3 // 2)), ((3 % 2)), ((3**2))
    提示: 阅读下 https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex 了解更过情况。

  2. 计算下列数字序列的平均数: (2, 4), (4, 8, 9), (12, 14/6, 15)

  3. 一个球体的体积是(4/3 pi r^3)。 请计算出一个半径为5的球体的体积。
    提示: 可以创建一个值为3.1415的变量pi

  4. 使用取模运算(%)来检查下列数字是单数还是双数:(1, 5, 20, 60/7)。

提示: 当(x)是双数时,(x/2)总会是0。

  1. 请找到合适的(x)和(y)可以让(x < 1/3 < y)在Python REPL中返回True
    提示: (0 < 1/3 < 1)。

字符串部分练习

参阅Python 中关于字符串的文档(https://docs.python.org/3/library/stdtypes.html?#text-sequence-type-str), 然后来解决下列问题:

  1. 初始化一个字符串为"abc",并将其赋值给变量"s":

    1. 使用一个函数获取出该字符串的长度。
    2. 使用一些操作符让"abc"变成"aaabbbccc"
      提示:使用字符串连接与索引。
  2. 初始化一个字符串为"aaabbbccc",并将其赋值给变量"s":

    1. 使用一个函数获取出"b"第一次出现的位置,以及"ccc"第一次出现的位置。
    2. 使用一个函数替换所有的"a""X",然后使用相同的函数只替换第一个"a""X"
  3. 给你一个字符串"aaa bbb ccc",使用什么操作可以让它们变成以下字符串? 你可以使用replace函数。

    1. “AAA BBB CCC”
    2. “AAA bbb CCC”