zoukankan      html  css  js  c++  java
  • Python学习笔记——String、Sequences

    一、input()与raw_input()的区别

    代码
    1 >>> buck = input("Enter your name: ")
    2 Enter your name: liu
    3
    4 Traceback (most recent call last):
    5 File "<pyshell#1>", line 1, in <module>
    6 buck = input("Enter your name: ")
    7 File "<string>", line 1, in <module>
    8 NameError: name 'liu' is not defined
    9  >>> buck = raw_input('Enter your name: ')
    10 Enter your name: liu

    从上面的例子可以看到,raw_input()将输入看作字符串,而input则不是,input()根据输入来判断类型,当然如果你想输入字符串的话就必须在字符串钱加引号。

    二、输出的问题

    如果我们定义一个整数,然后要将其与字符串同时输出,如下所示

    代码
    >>> n = 20
    >>> print('the num is '+20)

    Traceback (most recent call last):
    File
    "<pyshell#16>", line 1, in <module>
    print('the num is '+20)
    TypeError: cannot concatenate
    'str' and 'int' objects

    可见不能直接用加号来表示,解决方法有三种:

    第一种可以把n转化为字符串,用str()内建函数:

    >>> n = str(n)
    >>> print('the num is '+ n)
    the num
    is 20

    第二种是加`符号,这个键是在esc键下面的那个,如:

    >>> b = 20
    >>> print('the num is '+ `b`)
    the num
    is 20

    第三种是用占位符,这个类似C语言中的占位符,但要注意连接字符串与其他类型数据的是%而不是逗号

    >>> print('the num is %d ' % b)
    the num
    is 20

    三、Sequences,这个有点像数组,下面是它的定义与截取(Slicing)

    代码
    >>> example = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> example[:8]
    [0,
    1, 2, 3, 4, 5, 6, 7]
    >>> example[-5:]
    [
    5, 6, 7, 8, 9]
    >>> example[:]
    [0,
    1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> example[1:8:2]
    [
    1, 3, 5, 7]
    >>> example[::-2]
    [
    9, 7, 5, 3, 1]
  • 相关阅读:
    lintcode:previous permutation上一个排列
    lintcode : 二叉树的序列化和反序列化
    lintcode : find peak element 寻找峰值
    lintcode 中等题:搜索旋转排序数组II
    lintcode :搜索旋转排序数组
    lintcode: search for a range 搜索区间
    lintcode:最大子数组差
    lintcode:最大子数组II
    lintcode :最大子数组
    lintcode : 平衡二叉树
  • 原文地址:https://www.cnblogs.com/liulixiang/p/1743488.html
Copyright © 2011-2022 走看看