Python小白一名,用if和print寫了個小游戲,其中一部分是這樣的
if zb==1:
ywuqi="升龍戟"
ywuqiN=300
print('你購買了%s\n'%ywuqi)
if zb==2:
ywuqi="貫石斧"
ywuqiN=700
print('你購買了%s\n'%ywuqi)
if zb==3:
ywuqi="末路狂花刀"
ywuqiN=500
print('你購買了%s\n'%ywuqi)
if zb==4:
ywuqi="吸血劍"
ywuqiN=300
print('你購買了%s\n'%ywuqi)
if zb==5:
yfangju="八卦陣"
yfangjuN=400
print('你購買了%s\n'%yfangju)
if zb==6:
yfangju="護心鏡"
yfangjuN=200
print('你購買了%s\n'%yfangju)
因為都是重復的代碼,最近又學了函式,所以想用函式代替一下,我想了一個這樣的代碼(就只以其中一種情況為例)
yfangju="無"
yfangjuN=0
jianaijiu={yfangju:yfangjuN}
def maizb(lei,ming,nai):
global yfangjuN
global yfangju
lei=ming
jianaijiu[lei]=nai
print('你購買了%s\n'%ming)
print(yfangju,yfangjuN)
maizb(yfangju,'八卦陣',400)
可是它直接給lei賦值了
想改變的yfangju和yfangjuN兩個變數都沒有動我的期望是能像圖片里一樣用這個函式
求求大佬指點一下
uj5u.com熱心網友回復:
這樣可不可行?d = {1: ['升龍戟', 300],
2: ['貫石斧',700],
3: ['末路狂花刀', 500],
4: ['吸血劍', 300],
5: ['八卦陣', 400],
6: ['護心鏡', 200],
7: ['軟猬甲', 300],
}
zb = random.randint(1, 13)
if zb < 6:
ywuqi = d[zb][0]
ywuqiN = d[zb][1]
else:
yfangju = d[zb][0]
yfangjuN = d[zb][1]
uj5u.com熱心網友回復:
用字典,但是沒用函式轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/250913.html
上一篇:有沒有大佬能教教我
