知识点

Python判断字符串的主要用法:

  • str.isalnum():所有字符都是数字或字母
  • str.isalpha():所有字符都是字母
  • str.isdigit():所有字符都是数字,并且为整型数字
  • str.isspace():所有字符都是空白字符、/t、/n、/r

实例

# 创建商品名称和价格的列表
goods_list = [['小米手环', 209], ['荣耀手环5', 199], ['华为手环B5', 849], ['ZNNCO智能血压手环', 379]]

# 储存竞猜商品的索引
goods_index = 0
# 储存竞猜商品的价格
price = 0

print('---商品竞猜游戏---')
print('可以竞猜的商品如下:',
      '\n 1', goods_list[0][0],
      '\n 2', goods_list[1][0],
      '\n 3', goods_list[2][0],
      '\n 4', goods_list[3][0],
      )

number = input('请输入竞猜商品前面的数字:')
if number.isdigit():
    goods_index = int(number)
    if 0 < goods_index <= 4:
        print('您选择的商品是:', goods_list[goods_index - 1][0])
        price = goods_list[goods_index-1][1]
        guess = -1
        # 竞猜次数统计
        counter = 0
        while guess != price:
            guess_tmp = input('请输入竞猜价格(还有%d次机会):' % (10 - counter))
            counter = counter + 1
            if counter == 10:
                print('竞猜次数已用完,游戏结束!')
                break

            if guess_tmp.isdigit():
                guess = int(guess_tmp)
                if guess == price:
                    print('恭喜您答对了!')
                elif guess > price:
                    print('比这个价格低哦!')
                elif guess < price:
                    print('比这个价格高哦!')
            else:
                print('输入价格非法,请重新输入!')

问题

1.列表原想着用字典,实现中发现字典没有列表好用,因为字典是1对1,而且编码相对复杂,要把所有的名字重新再写一遍,所有就没有用
2.判断输入的条件语句isdigit(),开始使用的是if str.isdigit() == Ture,Pycharm有语法提示才发现==Ture多此一举,如果是纯数字就是Ture,哈哈