# 一:for循环 # 1.1 for循环嵌套之打印99乘法表 ''' 1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 ''' # 1.一共需要打印9行 ''' for i in range(1, 10): # i=1 # print(i) # 1 2 ... 9 for j in range(1, i + 1): # range(1, 2) --> 循环1次 range(1, 3) # 打印乘法表 # i=1 循环一次, i=2 循环两次, # i=9 循环9次, 9 * 1 = 9*1, 9 * 2 = 9*2 print('%s * %s = %s' % (i, j, i * j), end=' ') # # 默认打印换行 print() ''' # 1.2 for循环嵌套之打印金字塔 # 提示分析如下 ''' # max_level=5 * # current_level=1,空格数=4,*号数=1 *** # current_level=2,空格数=3,*号数=3 ***** # current_level=3,空格数=2,*号数=5 ******* # current_level=4,空格数=1,*号数=7 ********* # current_level=5,空格数=0,*号数=9 # 数学表达式 空格数 = max_level - current_level *号数 = 2 * current_level - 1 ''' # 初始化金字塔层数: 5层 # max_level = 5 # # # 外层循环,打印总层数, 总共循环打印5层,将1-5依次交给current_level # for current_level in range(1, max_level + 1): # range(5) 0-4 # # # 打印每一层的空格数, 需要打印空格的次数,每次打印一个 ' ' 空格 # for i in range(max_level - current_level): # print(' ', end='') # # # 打印每一层的*号数 # for j in range(2 * current_level - 1): # 2 * 1 - 1, 2 * 2 - 1 == 3 # print('*', end='') # # # 打印换行 # print() ''' # 方式二 max_level = 5 # 第一层打印, for line in range(1, max_level * 2, 2): n = '*' * line # 字符串的内置方法: center(宽度, '填充的字符') print(n.center(max_level * 2, ' ')) ''' # 1.3 用for+range改写今日早晨默写的代码,作为明天默写内容 ''' username = 'tank' password = '123' # count = 0 # while count < 3: # 通过for循环实现循环三次 for line in range(3): # range(3) ---> 0-2 控制循环次数 inp_name = input('请输入您的账号:') inp_pwd = input('请输入您的密码:') if inp_name == username and inp_pwd == password: print('登录成功') while True: cmd = input("输入命令>: ") if cmd == 'q': # 整个程序结束,退出所有while循环 break else: print('命令{x}正在运行'.format(x=cmd)) break else: print('账号名或密码错误') # count += 1 else: print('输错3次,退出') ''' # 二:字符串操作 # 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分) name = " aleX" print(name) # 1) 移除 name 变量对应的值两边的空格,并输出处理结果 # print(name.strip()) # 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果 # print(name.startswith('al')) # 3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果 # print(name.endswith('X')) # 4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果 # name = name.replace('l', 'p') # print(name) # 5) 将 name 变量对应的值根据 “l” 分割,并输出结果。 # print(name.split('l')) # 6) 将 name 变量对应的值变大写,并输出结果 # print(name.upper()) # 7) 将 name 变量对应的值变小写,并输出结果 # print(name.lower()) # 8) 请输出 name 变量对应的值的第 2 个字符? # print(name[1]) # 9) 请输出 name 变量对应的值的前 3 个字符? # print(name[:3]) # 10) 请输出 name 变量对应的值的后 2 个字符? # print(name[-2:]) # 11) 请输出 name 变量对应的值中 “e” 所在索引位置? # print(name.index('e')) # 3 # 12) 获取子 "序列" ,去掉最后一个字符。如: oldboy 则获取 oldbo。 # print(name[:-1])