拨Q 发表于 2021-1-16 14:56

Python求助,为什么会错呢

本帖最后由 拨Q 于 2021-1-16 15:22 编辑

# 查看注释,运行代码。
import random
import time

# 用random函数在列表中随机抽奖,列表中只有3位候选者。
class A:
    luckylist=
    def __init__(self,name1,name2,name3):
      self.name1 = name1
      self.name2 = name2
      self.name3 = name3
   
    def start(self):
      # random模块中有个随机选取一个元素的方法:random.choice()。
      a = random.choice(luckylist)# 从3个人中随机选取1个人。
      print('开奖倒计时',3)
      time.sleep(1)# 调用time模块,控制打印内容出现的时间
      print('开奖倒计时',2)
      time.sleep(1)
      print('开奖倒计时',1)
      time.sleep(1)
      # 使用三引号打印hellokitty的头像
      image = '''
         /\_)o<
      |      \\
      | O . O|
         \_____/
      '''
      print(image)# ……
      print('恭喜'+a+'中奖!')# 使用print函数打印幸运者名单
      
#luckylist = ['海绵宝宝','派大星','章鱼哥']
b = A('海绵宝宝','派大星','章鱼哥')
b.start


为什么会错呢。。。

戒酒的李白 发表于 2021-1-16 15:15

第7行未定义变量name1,name2,name3
34行是要加括号
import random
import time

# 用random函数在列表中随机抽奖,列表中只有3位候选者。
class A:
    def __init__(self,name1,name2,name3):
      self.name1 = name1
      self.name2 = name2
      self.name3 = name3
    def start(self):
                # random模块中有个随机选取一个元素的方法:random.choice()。
      luckylist =
      a = random.choice(luckylist)# 从3个人中随机选取1个人。
      print('开奖倒计时',3)
      time.sleep(1)# 调用time模块,控制打印内容出现的时间
      print('开奖倒计时',2)
      time.sleep(1)
      print('开奖倒计时',1)
      time.sleep(1)
      # 使用三引号打印hellokitty的头像
      image = '''
         /\_)o<
      |      \\
      | O . O|
         \_____/
      '''
      print(image)# ……
      print('恭喜'+a+'中奖!')# 使用print函数打印幸运者名单
         
#luckylist = ['海绵宝宝','派大星','章鱼哥']
b = A('海绵宝宝','派大星','章鱼哥')
b.start()

fanvalen 发表于 2021-1-16 15:18

class我不太秋初,但是你把一个注释赋值给一个变量,不知道怎么想的

拨Q 发表于 2021-1-16 15:20

fanvalen 发表于 2021-1-16 15:18
class我不太秋初,但是你把一个注释赋值给一个变量,不知道怎么想的

刚学,还理不太清楚

荆棘之吻 发表于 2021-1-16 15:21

错误比较多,建议楼主多多复习一下

axin1999 发表于 2021-1-16 15:24

fanvalen 发表于 2021-1-16 15:18
class我不太秋初,但是你把一个注释赋值给一个变量,不知道怎么想的

你说的是image 这个变量吗?这也不是注释啊,在python里面表示多行字符串啊

古月不傲 发表于 2021-1-16 15:24

荆棘之吻 发表于 2021-1-16 15:25

import random
import time

class A(object):
    def start(self,name1, name2, name3):

      luckylist =
      a = random.choice(luckylist)
      print('开奖倒计时', 3)
      time.sleep(1)
      print('开奖倒计时', 2)
      time.sleep(1)
      print('开奖倒计时', 1)
      time.sleep(1)
      image = '''
         /\_)o<
      |      \\
      | O . O|
         \_____/
      '''
      print(image)# ……
      print('恭喜' + a + '中奖!')

b = A()
b.start('海绵宝宝', '派大星', '章鱼哥')

荆棘之吻 发表于 2021-1-16 15:28

1.继承了object对象(在你的class A后面),拥有了好多可操作对象,这些都是类中的高级特性
2.__init__   多余
3..运行时候传参位置错误
4.lucylist位置写错了   无法调用
{:1_907:}具体的我也说不清,只能说出来这些,共同学习共同进步~

拨Q 发表于 2021-1-16 15:30

荆棘之吻 发表于 2021-1-16 15:25
import random
import time



谢谢,请问这个object怎么解释呢,不要也可以呀,类似self吗
页: [1] 2
查看完整版本: Python求助,为什么会错呢