2016-04-08 14 views
-2

我在使用IF子句時顯示特定圖像時出現問題。當生成的隨機數等於「1」時,這個想法是顯示一個骰子的「1」邊的圖片,等等。在Python中顯示圖像代碼和基本乘法

我也有麻煩使得勝負雙倍的賭注。例如,賭10美元,贏20美元。我不斷收到$ 1010

import cgi 
form = cgi.FieldStorage() 

name = str(form.getvalue("name")) 
bet = str(form.getvalue("bet")) 


print """Content-type: text/html 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html><head> 
<title>Lab 10</title> 
</head><body> 
""" 
import random 
die1 = str(random.randint(1,6)) 
die2 = str(random.randint(1,6)) 

print "<p>Thanks for playing, "+name+" . You rolled "+die1+".</p>" 
print "<p> Your opponent rolled "+die2+".</p>" 

if die1==die2: 
print "You win $"+bet+"!</p>" 
if die1>die2: 
print "You win $"+bet*2+"!</p>" 
if die1<die2: 
print "You lose $"+bet+"! Try again.</p>" 

if die1==int("1"): 
print "<img src='dice-1.png' alt='1' width='107' height='107' />" 



print "</body>" 
print "</html>" 
+0

就「$ 1010」而言,請注意如何將模具卷更改爲字符串,然後再乘以2。稍後幾行,您將此字符串與您從該整數的字符串表示中獲得的整數進行比較。爲什麼使用'int(「1」)'而不是'1'?關於類型,你有一些學習時間。 – TigerhawkT3

+0

@ TigerhawkT3「謝謝你打了,你滾了......」 – aaandrewp

+0

好吧,那是什麼問題?你是否有例外?結果不好?請我們爲你寫代碼? – skrrgwasme

回答

0

你正在改變字符串和整數相互轉化,使不會在Python 2引發錯誤的比較,但不會工作。對某個字符串或數字是否一致保持一致。使用str.format可以將值插入到字符串中,而不必擔心串聯。

name = str(form.getvalue("name")) 
bet = int(form.getvalue("bet")) 

print """Content-type: text/html 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html><head> 
<title>Lab 10</title> 
</head><body> 
""" 
import random 
die1 = random.randint(1,6) 
die2 = random.randint(1,6) 

print "<p>Thanks for playing, {}. You rolled {}.</p>".format(name, die1) 
print "<p> Your opponent rolled {}.</p>".format(die2) 

if die1 == die2: 
    print "You win ${}!</p>".format(bet) 
if die1 > die2: 
    print "You win ${}!</p>".format(bet*2) 
if die1 < die2: 
    print "You lose ${}! Try again.</p>".format(bet) 

print """<img src="dice-{}.png" alt="{}" width="107" height="107" /><br /> 
<img src="dice-{}.png" alt="{}" width="107" height="107" />""".format(
    die1, die1, die2, die2) 
+0

謝謝!我設法讓自己的圖像工作,只是在加倍賭注時遇到麻煩。現在我明白我出錯了 – aaandrewp