| 
 | 
 
 
发表于 2020-4-18 17:26:05
|
显示全部楼层
 
 
 
除了你使用整数来join导致错误以外,代码还有些其他的问题,修改了一部分,可以正常跑起来了: 
- """
 
 -     用户购买彩票
 
 -     要求:共有7个球,红球有6个
 
 -         红球的数值在(1-33)的范围内且不能重复
 
 -         蓝球的范围在(1-16)的范围内
 
 -         (1)打印出你购买的号码
 
 -         (2)判断是否中奖
 
 - """
 
  
 
- import random
 
 - #中奖号码
 
  
- blue_ball = str(random.randint(1,16))
 
 - price_num = []
 
 - while len(price_num) < 6:
 
 -     red_ball = str(random.randint(1,33))              #红球要生成6次,所以必须在循环里
 
 -     if red_ball in price_num:
 
 -         continue
 
 -     price_num.append(red_ball)
 
 - price_result = " ".join(price_num)+' '+blue_ball
 
  
- #创建用户号码盒
 
 - box_user = []
 
  
- #用户购买红球
 
 - a=1
 
 - while len(box_user) < 6:                            #用户购买也要输入6次红球吧?
 
 -     user = input("请输入第%d个红球的号码: " % a)
 
 -     if int(user) > 33 or int(user) < 1 or (user in box_user):
 
 -         print("输入的号码不正确!")
 
 -         continue
 
 -     a+=1
 
 -     box_user.append(str(user))
 
  
- #用户购买蓝球
 
 - while True:
 
 -     user_blue = input("请输入最后一个蓝球的号码: ")
 
 -     if 0<int(user_blue)<17:
 
 -         break
 
 -     print("输入的号码不正确!")
 
 - box_user.append(user_blue)
 
  
- #将号码列表转换成用户彩票号码
 
 - str_user = " ".join(box_user)
 
 - print("您的彩票号码是:%s"%(str_user))
 
  
- #判断是否中奖
 
 - if str_user == price_result:
 
 -     print("恭喜你中奖了!")
 
 - else:
 
 -     print("很遗憾,你没有中奖!")
 
  复制代码 |   
 
 
 
 |