# 一: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])