for循环、数字、字符串类-练习👈
一、for循环
1、for循环嵌套之打印99乘法表
"""
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
"""
for i in range(1, 10):
for j in range(1, i+1):
print('{0} * {1} = {2}'.format(j, i, i * j), end=' ')
print()
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
'''
max_level = 5
for current_level in range(1, max_level+1):
print('{}{}'.format(' ' * (max_level-current_level), '*' * (2 * current_level - 1)))
3、用for+range改写今日早晨默写的代码,作为明天默写内容
username = 'egon'
password = '123'
for count in range(3):
inp_username = input('please input your username>>:').strip()
inp_password = input('please input your password>>:').strip()
if inp_username == username and password == inp_password:
print('登录成功')
while True:
cmd = input('请输入命令:').strip()
if cmd.lower() == 'q':
break
print('命令【{}】正在执行。。。。'.format(cmd))
break # 这里的break并不影响,while关联的else语句
else:
print("输错【%s】次" % (count + 1))
else:
print('共输错3次,强制退出。。。。。')
二、字符串操作
name = " aleX"
# 1) 移除 name 变量对应的值两边的空格,并输出处理结果
# 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果
print(name.startswith('al')) # False
# 3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果
# res = name.endswith('X')
# print(res)
print(name.endswith('X')) # True
# 4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
print(name.replace('l', 'p')) # apeX
# 5) 将 name 变量对应的值根据 “l” 分割,并输出结果。
print(name.split('l')) # [' a', 'eX']
# 6) 将 name 变量对应的值变大写,并输出结果
print(name.upper()) # ALEX
# 7) 将 name 变量对应的值变小写,并输出结果
print(name.lower()) # alex
# 8) 请输出 name 变量对应的值的第 2 个字符?
print(name[1]) # a
# 9) 请输出 name 变量对应的值的前 3 个字符?
print(name[:3]) # al
# 10) 请输出 name 变量对应的值的后 2 个字符?
print(name[-1:-3:-1]) # Xe
# 11) 请输出 name 变量对应的值中 “e” 所在索引位置?
print(name.find('e')) # 3
# 12) 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
print(name[:len(name) - 1]) # ale