基本 python-while 循环在随机卡片生成器中打印出额外的 space
Basic python-while loop prints out extra space in random card generator
#!usr/bin/python
import random
seg1='''_________'''
seg2='''| |'''
seg3a="| Ace |"
seg32="| 2 |"
seg33="| 3 |"
seg34="| 4 |"
seg35="| 5 |"
seg36="| 6 |"
seg37="| 7 |"
seg38="| 8 |"
seg39="| 9 |"
seg310="| 10 |"
seg3jack="| Jack |"
seg3queen="|Queen |"
seg3king="| King |"
seg4='''| of |'''
seg5s="| Spade |"
seg5h="| Heart |"
seg5c="| Clubs |"
seg5d="|Diamond|"
seg6='''| |'''
seg7='''|_______|'''
a=[seg3a,seg32,seg33,seg34,seg35,seg36,seg37,seg38,seg39,seg310,seg3jack,seg3queen,seg3king]
b=[seg5s,seg5h,seg5c,seg5d]
count=0
count1=0
print seg1*13,'\n',seg2*13#,#'\n'
while count<=12:
c=random.choice(a)
print c,
count+=1
print '\n',seg4*13,'\n'
while count1<=12:
d=random.choice(b)
print d,
count1+=1
print '\n',seg6*13,'\n',seg7*13
您好。我正在尝试制作这个程序,它应该并排打印出 13 张随机卡片,但它的格式真的很奇怪。我知道这是由 while 循环引起的,它在打印出一些东西后添加了一个额外的 space 。谢谢
可在此处找到更多信息:
How do I keep Python print from adding newlines or spaces?
这可以通过 import
ing sys
然后使用:
应用于您的代码
while count<=12:
c=random.choice(a)
sys.stdout.write(c)
count+=1
sys.stdout.flush()
和另一个 while 循环的等价物。
旁注:考虑阅读其他人的一些 python 代码。 Python 用户喜欢让它简短而亲切,我这样做让我受益匪浅——至少在编码快捷方式方面是这样。事实上,您也可以将整个循环替换为:
print "".join([random.choice(a) for i in range(13)])
#!usr/bin/python
import random
seg1='''_________'''
seg2='''| |'''
seg3a="| Ace |"
seg32="| 2 |"
seg33="| 3 |"
seg34="| 4 |"
seg35="| 5 |"
seg36="| 6 |"
seg37="| 7 |"
seg38="| 8 |"
seg39="| 9 |"
seg310="| 10 |"
seg3jack="| Jack |"
seg3queen="|Queen |"
seg3king="| King |"
seg4='''| of |'''
seg5s="| Spade |"
seg5h="| Heart |"
seg5c="| Clubs |"
seg5d="|Diamond|"
seg6='''| |'''
seg7='''|_______|'''
a=[seg3a,seg32,seg33,seg34,seg35,seg36,seg37,seg38,seg39,seg310,seg3jack,seg3queen,seg3king]
b=[seg5s,seg5h,seg5c,seg5d]
count=0
count1=0
print seg1*13,'\n',seg2*13#,#'\n'
while count<=12:
c=random.choice(a)
print c,
count+=1
print '\n',seg4*13,'\n'
while count1<=12:
d=random.choice(b)
print d,
count1+=1
print '\n',seg6*13,'\n',seg7*13
您好。我正在尝试制作这个程序,它应该并排打印出 13 张随机卡片,但它的格式真的很奇怪。我知道这是由 while 循环引起的,它在打印出一些东西后添加了一个额外的 space 。谢谢
可在此处找到更多信息:
How do I keep Python print from adding newlines or spaces?
这可以通过 import
ing sys
然后使用:
while count<=12:
c=random.choice(a)
sys.stdout.write(c)
count+=1
sys.stdout.flush()
和另一个 while 循环的等价物。
旁注:考虑阅读其他人的一些 python 代码。 Python 用户喜欢让它简短而亲切,我这样做让我受益匪浅——至少在编码快捷方式方面是这样。事实上,您也可以将整个循环替换为:
print "".join([random.choice(a) for i in range(13)])