作业帮 > 英语 > 作业

问一道python3.3的题目,意思如图,我只能想到用很多if来做这道题,比如if a=="A",

来源:学生作业帮 编辑:作业帮 分类:英语作业 时间:2024/10/04 11:41:51
问一道python3.3的题目,意思如图,我只能想到用很多if来做这道题,比如if a=="A",

问一道python3.3的题目,意思如图,我只能想到用很多if来做这道题,比如if a=="A",b=="D",return "Ace of Diamends",有没有什么简单的方法?


def card_namer(x,y):
v={'A':'Ace','T':'10'}
s={'D':'Diamonds','C':'Clubs'}
if x in v.keys() and y in s.keys():
return '%s of %s'%(v[x],s[y])
else:
return 'CHEATER!'
再问: 稍微解释下吧?
再问: 新手
再答: 两个表格抽象成两个 dict v={'A':'Ace','T':'10'}#离散的映射一个个的设置 [v.__setitem__(i,i) for i in range(2,10)]#连续的2-9可以这样设置 #或者这样是一样的 for i in range(2,10): v[i]=i 为了判断用户的输出是否在字典中出现 v.keys()返回主键的列表,即图片中列表的Input列 if x in v.keys() and y in s.keys():#判断用户输入是否能找到 '%s of %s'%(v[x],s[y])#格式化字符串,把括号中的项目放到%s出现的位置
再问: 什么叫dict,和list有什么区别?keys是一个什么方法?为什么不能写成x in v?
再答: dict是字典,和list列表都是python常用的数据结构 2.2以后的python,可以写成x in v,或者 v.has_key(x)