python day08作业
# 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)
一:for循环
# 1.1 for循环嵌套之打印99乘法表
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=' ') # \n # 默认打印换行 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])