2016-04-08 6 views
-2

IF deyimini kullanırken belirli bir resmi gösteren sorunlar yaşıyorum. Buradaki fikir, bir zarın "1" tarafının bir resmini, rastgele sayının "1" e eşit olması ve böylece her bir sayı için benzer şekilde göstermektir.Python Code & Basic Multiplying'de Resim Gösterme

Ayrıca, kazanma sonucunu iki katına çıkarmakta zorlanıyorum. Örneğin, 10 $ bahis ve 20 $ kazanma. Ben Sen birbirinin içine dizeleri ve tamsayılar değişen ve Python 2'de bir hata yükseltmez karşılaştırmalar yapıyoruz $ 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" değerine kadar, iki ile çarpmadan önce kalıp rulosunu bir dizgiye nasıl değiştirdiğinize dikkat edin. Sadece birkaç satır sonra, bu dizeyi, bu tam sayı için bir dize ifadesinden aldığınız bir tamsayıyla karşılaştırırsınız. Neden "1" yerine int ("1") 'yi kullanıyorsunuz? Çeşitler konusunda önceden çalışma zamanınız var. – TigerhawkT3

+0

@ TigerhawkT3 "Oynattığınız için teşekkürler, siz yuvarlandınız ..." – aaandrewp

+0

Tamam, soru nedir? İstisnalar mı alıyorsun? Kötü sonuçlar? Senin için kod yazmamızı mı istiyorsun? – skrrgwasme

cevap

0

almaya devam ama ya çalışmaz. Bir şeyin bir dize veya sayı olup olmadığı konusunda tutarlı olun. Birleştirme hakkında endişelenmenize gerek kalmadan değerleri dizilerinizde araya getirmek için str.format kullanın.

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

Teşekkürler! Görüntüleri kendim almayı başardım, sadece bahsi ikiye katlamakla ilgili sorun yaşadım. Şimdi nerede yanlış gittiğimi anlıyorum – aaandrewp