知识点
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,哈哈