01-Hello World
    
    
    python的语法逻辑完全靠缩进,建议缩进4个空格。如果是顶级代码,那么必须顶格书写,哪怕只有一个空格也会有语法错误。下面示例中,满足if条件要输出两行内容,这两行内容必须都缩进,而且具有相同的缩进级别。
    
    print(‘hello world!’)
    
    if 3 > 0:
    
    print(‘OK’)
    
    print(‘yes’)
    
    x = 3; y = 4 # 不推荐,还是应该写成两行
    
    print(x + y)
   
    
     02-print 函数
    
    
    print(‘hello world!’)
    
    print(‘hello’, ‘world!’) # 逗号自动添加默认的分隔符:空格 hello world!
    
    print(‘hello’ + ‘world!’) # 加号表示字符拼接 helloworld!
    
    print(‘hello’, ‘world’, sep=‘
    
     
      ‘) # 单词间用
     
    
    分隔 hello***world
    
    print(’#’ * 50) # *号表示重复 50 遍
    
    print(‘how are you?’, end=‘’) # 默认 print 会打印回车,end=”表示不要回车
   
    
     03-基本运算
    
    
    运算符可以分为:算术运算符、比较运算符和逻辑运算符。优先级是:算术运算符>比较运算符>逻辑运算符。最好使用括号,增加了代码的可读性。
    
    print(5 / 2) # 2.5
    
    print(5 // 2) # 丢弃余数,只保留商
    
    print(5 % 2) # 求余数
    
    print(5 ** 3) # 5 的 3 次方
    
    print(5 > 3) # 返回 True
    
    print(3 > 5) # 返回 False
    
    print(20 > 10 > 5) # python 支持连续比较
    
    print(20 > 10 and 10 > 5) # 与上面相同含义
    
    print(not 20 > 10) # False
   
    
     04-input
    
    
    number = input(“请输入数字:”) # input 用于获取键盘输入
    
    print(number)
    
    print(type(number)) # input 获得的数据是字符型
    
    print(number + 10) # 报错,不能把字符和数字做运算
    
    print(int(number) + 10) # int 可将字符串 10 转换成数字 10
    
    print(number + str(10)) # str 将 10 转换为字符串后实现字符串拼接
   
    
     05-输入输出基础练习
    
    
    username = input(‘username: ‘)
    
    print(‘welcome’, username) # print 各项间默认以空格作为分隔符
    
    print(‘welcome ’ + username) # 注意引号内最后的空格
   
    
     06-字符串使用基础
    
    
    python 中,单双引号没有区别,表示一样的含义
    
    sentence = ‘tom’s pet is a cat’ # 单引号中间还有单引号,可以转义
    
    sentence2 = “tom’s pet is a cat” # 也可以用双引号包含单引号
    
    sentence3 = “tom said:“hello world!””
    
    sentence4 = ‘tom said:“hello world”’
   
    
    
    三个连续的单引号或双引号,可以保存输入格式,允许输入多行字符串
   
    words = “””
    
    hello
    
    world
    
    abcd”“”
    
    print(words)
    
    py_str = ‘python’
    
    len(py_str) # 取长度
    
    py_str[0] # 第一个字符
    
    ‘python’[0]
    
    py_str[-1] # 最后一个字符
   
    
    
    py_str[6] # 错误,下标超出范围
   
    py_str[2:4] # 切片,起始下标包含,结束下标不包含
    
    py_str[2:] # 从下标为 2 的字符取到结尾
    
    py_str[:2] # 从开头取到下标是 2 之前的字符
    
    py_str[:] # 取全部
    
    py_str[::2] # 步长值为 2,默认是 1
    
    py_str[1::2] # 取出 yhn
    
    py_str[::-1] # 步长为负,表示自右向左取
   
    py_str + ’ is good’ # 简单的拼接到一起
    
    py_str * 3 # 把字符串重复 3 遍
   
    ‘t’ in py_str # True
    
    ‘th’ in py_str # True
    
    ‘to’ in py_str # False
    
    ‘to’ not in py_str # True
   
    
     07-列表基础
    
    
    列表也是序列对象,但它是容器类型,列表中可以包含各种数据
    
    alist = [10, 20, 30, ‘bob’, ‘alice’, [1,2,3]]
    
    len(alist)
    
    alist[-1] # 取出最后一项
    
    alist[-1][-1] # 因为最后一项是列表,列表还可以继续取下标
    
    [1,2,3][-1] # [1,2,3] 是列表,[-1] 表示列表最后一项
    
    alist[-2][2] # 列表倒数第 2 项是字符串,再取出字符下标为 2 的字符
    
    alist[3:5] # [‘bob’, ‘alice’]
    
    10 in alist # True
    
    ‘o’ in alist # False
    
    100 not in alist # True
    
    alist[-1] = 100 # 修改最后一项的值
    
    alist.append(200) # 向**列表中追加一项
   
    
     08-元组基础
    
    
    元组与列表基本上是一样的,只是元组不可变,列表可变。
    
    atuple = (10, 20, 30, ‘bob’, ‘alice’, [1,2,3])
    
    len(atuple)
    
    10 in atuple
    
    atuple[2]
    
    atuple[3:5]
   
    
    
    atuple[-1] = 100 # 错误,元组是不可变的
   
    
     09-字典基础
    
   
    
    
    字典是 key-value(键-值)对形式的,没有顺序,通过键取出值
   
    adict = {‘name’: ‘bob’, ‘age’: 23}
    
    len(adict)
    
    ‘bob’ in adict # False
    
    ‘name’ in adict # True
    
    adict[‘email’] = ‘bob@tedu.cn’ # 字典中没有 key,则添加新项目
    
    adict[‘age’] = 25 # 字典中已有 key,修改对应的 value
   
    
     10-基本判断
    
    
    单个的数据也可作为判断条件。任何值为 0 的数字、空对象都是 False,任何非 0 数字、非空对象都是 True。
    
    if 3 > 0:
    
    print(‘yes’)
    
    print(‘ok’)
   
    if 10 in [10, 20, 30]:
    
    print(‘ok’)
   
    if -0.0:
    
    print(‘yes’) # 任何值为 0 的数字都是 False
   
    if [1, 2]:
    
    print(‘yes’) # 非空对象都是 True
   
    if ’ ‘:
    
    print(‘yes’) # 空格字符也是字符,条件为 True
   
    
     11-条件表达式、三元运算符
    
    
    a = 10
    
    b = 20
    
    if a < b:
    
    smaller = a
    
    else:
    
    smaller = b
    
    print(smaller)
    
    s = a if a < b else b # 和上面的 if-else 语句等价
    
    print(s)
   
    
     12-判断练习:用户名和密码是否正确
    
    
    import getpass # 导入模块
    
    username = input(‘username: ‘)
   
    
    
    getpass 模块中,有一个方法也叫 getpass
   
    password = getpass.getpass(‘password: ‘)
    
    if username == ‘bob’ and password == ‘123456’:
    
    print(‘Login successful’)
    
    else:
    
    print(‘Login incorrect’)
   
    
     13-猜数:基础实现
    
    
    import random
    
    num = random.randint(1, 10) # 随机生成 1-10 之间的数字
    
    answer = int(input(‘guess a number: ‘)) # 将用户输入的字符转成整数
    
    if answer > num:
    
    print(‘猜大了’)
    
    elif answer < num:
    
    print(‘猜小了’)
    
    else:
    
    print(‘猜对了’)
    
    print(‘the number:’, num)
   
    
     14-成绩分类 1
    
    
    score = int(input(‘分数:’))
    
    if score >= 90:
    
    print(‘优秀’)
    
    elif score >= 80:
    
    print(‘好’)
    
    elif score >= 70:
    
    print(‘良’)
    
    elif score >= 60:
    
    print(‘及格’)
    
    else:
    
    print(‘你要努力了’)
   
    
     15-成绩分类 2
    
    
    score = int(input(‘分数:’))
    
    if score >= 60 and score < 70:
    
    print(‘及格’)
    
    elif 70 <= score < 80:
    
    print(‘良’)
    
    elif 80 <= score < 90:
    
    print(‘好’)
    
    elif score >= 90:
    
    print(‘优秀’)
    
    else:
    
    print(‘你要努力了’)
   
    
     16-石头剪刀布
    
    
    import random
    
    all_choices = [‘石头’, ‘剪刀’, ‘布’]
    
    computer = random.choice(all_choices)
    
    player = input(‘请出拳:’)
   
    
    
    print(‘Your choice:’, player, “Computer’s choice:”, computer)
   
    print(“Your choice: %s, Computer’s choice: %s” % (player, computer))
    
    if player == ‘石头’:
    
    if computer == ‘石头’:
    
    print(‘平局’)
    
    elif computer == ‘剪刀’:
    
    print(‘You WIN!!!’)
    
    else:
    
    print(‘You LOSE!!!’)
    
    elif player == ‘剪刀’:
    
    if computer == ‘石头’:
    
    print(‘You LOSE!!!’)
    
    elif computer == ‘剪刀’:
    
    print(‘平局’)
    
    else:
    
    print(‘You WIN!!!’)
    
    else:
    
    if computer == ‘石头’:
    
    print(‘You WIN!!!’)
    
    elif computer == ‘剪刀’:
    
    print(‘You LOSE!!!’)
    
    else:
    
    print(‘平局’)
   
    
     17-改进的石头剪刀布
    
    
    import random
    
    all_choices = [‘石头’, ‘剪刀’, ‘布’]
    
    win_list = [[‘石头’, ‘剪刀’], [‘剪刀’, ‘布’], [‘布’, ‘石头’]]
    
    prompt = “”“(0) 石头
    
    (1) 剪刀
    
    (2) 布
    
    请选择 (0/1/2): “””
    
    computer = random.choice(all_choices)
    
    ind = int(input(prompt))
    
    player = all_choices[ind]
    
    print(“Your choice: %s, Computer’s choice: %s” % (player, computer))
    
    if player == computer:
    
    print(‘\033[32;1m 平局、033[0m’)
    
    elif [player, computer] in win_list:
    
    print(‘\033[31;1mYou WIN!!!\033[0m’)
    
    else:
    
    print(‘\033[31;1mYou LOSE!!!\033[0m’)
   
    
     18-猜数,直到猜对
    
    
    import random
    
    num = random.randint(1, 10)
    
    running = True
    
    while running:
    
    answer = int(input(‘guess the number: ‘))
    
    if answer > num:
    
    print(‘猜大了’)
    
    elif answer < num:
    
    print(‘猜小了’)
    
    else:
    
    print(‘猜对了’)
    
    running = False
   
    
     19-猜数,5 次机会
    
    
    import random
    
    num = random.randint(1, 10)
    
    counter = 0
    
    while counter < 5:
    
    answer = int(input(‘guess the number: ‘))
    
    if answer > num:
    
    print(‘猜大了’)
    
    elif answer < num:
    
    print(‘猜小了’)
    
    else:
    
    print(‘猜对了’)
    
    break
    
    counter += 1
    
    else: # 循环被 break 就不执行了,没有被 break 才执行
    
    print(‘the number is:’, num)
   
    
     20-while 循环,累加至 100
    
    
    因为循环次数是已知的,实际使用时,建议用 for 循环
    
    sum100 = 0
    
    counter = 1
    
    while counter < 101:
    
    sum100 += counter
    
    counter += 1
    
    print(sum100)
   
 
