第一阶段:Python开发基础 day07 变量的内置方法   课后作业

1.使用代码实现以下业务逻辑

写代码,有如下变量name = " aleX",请按照要求实现每个功能:

  1. 移除 name 变量对应的值两边的空格,并输出处理结果

  2. 判断 name 变量对应的值是否以 "al" 开头,并输出结果

  3. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果

  4. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果

  5. 将 name 变量对应的值根据 “l” 分割,并输出结果。

  6. 将 name 变量对应的值变大写,并输出结果

  7. 将 name 变量对应的值变小写,并输出结果

  8. 请输出 name 变量对应的值的第 2 个字符?

  9. 请输出 name 变量对应的值的前 3 个字符?

  10. 请输出 name 变量对应的值的后 2 个字符?

  11. 请输出 name 变量对应的值中 “e” 所在索引位置?

  12. 获取子序列,去掉最后一个字符。如: oldboy 则获取

    o
    l
    d
    b
    o

    答:

# 给的示例
name = " aleX"

# 1.移除 name 变量对应的值两边的空格,并输出处理结果
name1 = name.strip()
print(name1)
# 2.判断 name 变量对应的值是否以 "al" 开头,并输出结果
bool_start = name.startswith('al')
print(bool_start)

# 3.判断 name 变量对应的值是否以 "X" 结尾,并输出结果
bool_end = name.endswith('X')
print(bool_end)

# 4.将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
name_replace = name.replace('l','p')
print(name_replace)

# 5.将 name 变量对应的值根据 “l” 分割,并输出结果。
name_split = name.split('l')
print(name_split)

# 6.将 name 变量对应的值变大写,并输出结果
name_upper = name.upper()
print(name_upper)

# 7.将 name 变量对应的值变小写,并输出结果
name_lower = name.lower()
print(name_lower)

# 8.请输出 name 变量对应的值的第 2 个字符?
print(name[2])

# 9.请输出 name 变量对应的值的前 3 个字符?
print(name[:3])

# 10.请输出 name 变量对应的值的后 2 个字符?
print(name[-2:])

# 11.请输出 name 变量对应的值中 “e” 所在索引位置
print(name.find('e'))

# 12.获取子序列,去掉最后一个字符。如: oldboy 则获取
for i in range(len(name)-1):
    print(name[i])

2.编写猜年龄游戏,有以下要求

(参考:https://www.cnblogs.com/nickchen121/p/11069989.html

  1. 可能会有用户会在输入年龄之后不小心输入空格,如18,请做处理
  2. 可能会有用户会恶意输入导致程序报错,如逗你玩呀,请做处理
  3. 如果用户3次没有猜对,可以选择继续玩或退出(自定义退出条件)
  4. 如果用户猜对了,可以在以下奖品中选择两件奖品(一次只能选择一件奖品):{0:'buwawa',1:'bianxingjingang',2:'aoteman',3:'《python从入门到放弃》'}
  5. 用户选择奖品后退出程序,用户也可以不选择奖品直接退出程序。
  6. 没思路是正常的,那就对着我的先敲三遍。

答:

import random
# 随机一个年龄出来
age = random.randint(0,120)
# 奖品列表
price_dict = {0:'buwawa',1:'bianxingjingang',2:'aoteman',3:'《python从入门到放弃》'}
# 定义一个变量用来存放游戏次数
count = 0
while True :
    guess_age = input('请输入你猜测的年龄(范围在0-120之间):')
    # 先清除用户输入的时候可能存在的空格
    guess_age = guess_age.strip()
    # 判断用户输入的信息是不是都是数字
    if guess_age.isdigit() != True:
        print('你的输入有误,请重新输入')
        continue
    guess_age = int(guess_age)
    if guess_age > age:
        print('对不起,你猜大了,请重新猜一次哈')
    elif guess_age < age:
        print('对不起你猜小了请重新猜')
    else:
        choose = int(input('恭喜你猜对了,可以挑选奖品了,输入0-3进行选择:'))
        print(f'你选择的奖品是:{price_dict[choose]}')
        break
    count += 1
    if count == 3:
        num = input('三次机会用完了,是否继续玩(继续请按y,退出请按q):')
        if num == 'y':
            count = 0
            continue
        elif num == 'q':
            print('你选择了退出游戏')
            break
        else:
            print('你的输入有误,已退出游戏')
            break

博客地址

筱久的学习园地

posted @ 2019-08-02 18:39  foreversun92  阅读(197)  评论(0编辑  收藏  举报