我想在Python中製作一個簡單的基於文本的遊戲。其中圍繞一副撲克牌的想法,用A,2,3,4,5,6,7,8,9,10,J,Q和K代表牌面值(不使用小丑) 。這些卡的套裝將由s,d,h和c表示。作爲一個例子,「紅心王」將被表示爲Ah。Python - 一個關於字符串編輯的問題
我使用了兩個random.choice()函數來選擇一個隨機面值和一個隨機套裝,其中10代表'X'。這是我遇到我的問題的地方。理想情況下,我想在'10'出現時改變'X'。下面是我生成隨機卡的「測試」代碼:
import random
firstvar = random.choice('A23456789XJQK')
secondvar = random.choice('sdhc')
newvar = firstvar + secondvar
if newvar[0] == 'X':
newvar[0] = '10'
print newvar
else:
print newvar
我很快發現這導致了錯誤。
類型錯誤:「海峽」對象不支持項目分配
總之,我的問題是:「我怎麼會去在我的計劃,以‘10’改變‘X’
?感謝您的幫助您連接纔可以提供。
我同意#2,只是將它列入清單並放入10中,因爲這就是您馬上改變它的原因。 – user470379 2010-10-29 02:07:25
它完美的作品。謝謝! – 2010-10-29 02:08:44
@ user470379對,在這種情況下這可能是最好的,但字符串的不變性是一個足夠常見的絆腳石(我是一個好的python編碼器,有時我仍然絆倒它),值得查看所有的處理選項它從更一般的角度來看。 – aaronasterling 2010-10-29 02:12:57