找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1894|回复: 4

[求助] 函数封装简单问题

1

主题

1

帖子

1

积分

贫民

积分
1
wx_l8A1A3Uj 发表于 2019-8-21 22:10:36 | 显示全部楼层 |阅读模式
请帮忙看一下这个代码有什么问题。。。定义函数时不指定变量可否?在这个代码里面。 我感觉没啥问题。。总提示a = random.choice无法从空列表提取,可是candidate怎么会是空的呢。。
def lottery_draw():
    while True:
        candidate = []
        prompt = '请输入抽奖人员: '
        prompt += '\n结束请输入quit'
        name = input(prompt)
        candidate.append(name)
        if name == 'quit':
            candidate.remove('quit')
            break
    print('截至当前参加抽奖的人员为: ')
    print(candidate)
    for i in candidate:
        print(i, end='\t')
    a = random.choice(candidate)
    print('开奖倒计时',3)
    time.sleep(1)
    print('开奖倒计时',2)
    time.sleep(1)
    print('开奖倒计时',1)
    time.sleep(1)
    image = '''
     /\_)o<
    |      \\
    | O . O|
     \_____/
    '''
    print(image)
    print('恭喜'+a+'中奖!')
lottery_draw()
回复

使用道具 举报

0

主题

18

帖子

18

积分

贫民

积分
18
wengboyu 发表于 2019-8-22 17:34:06 | 显示全部楼层
  1. def lottery_draw():
  2.     candidate = []
  3.     while True:
  4.         # candidate = []
  5.         prompt = '请输入抽奖人员: '
  6.         prompt += '\n结束请输入quit'
  7.         name = input(prompt)
  8.         candidate.append(name)
  9.         if name == 'quit':
  10.             candidate.remove('quit')
  11.             break
  12.     print('截至当前参加抽奖的人员为: ')
  13.     print(candidate)
  14.     for i in candidate:
  15.         print(i, end='\t')
  16.     a = random.choice(candidate)
  17.     print('开奖倒计时',3)
  18.     time.sleep(1)
  19.     print('开奖倒计时',2)
  20.     time.sleep(1)
  21.     print('开奖倒计时',1)
  22.     time.sleep(1)
  23.     image = '''
  24.      /\_)o<
  25.     |      \\
  26.     | O . O|
  27.      \_____/
  28.     '''
  29.     print(image)
  30.     print('恭喜'+a+'中奖!')
  31. lottery_draw()
复制代码
回复 支持 反对

使用道具 举报

0

主题

3

帖子

3

积分

贫民

积分
3
troublemake 发表于 2019-8-26 11:16:02 | 显示全部楼层

您好,这个是用什么软件的效果啊,想学习一下
回复 支持 反对

使用道具 举报

0

主题

5

帖子

5

积分

贫民

积分
5
xd96dx 发表于 2019-9-29 15:30:07 | 显示全部楼层
把candidate 这个列表提到 循环外边
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
写代码的lulu 发表于 2019-11-4 22:04:16 | 显示全部楼层
原代码没参数啊,可以不指定参数,但写法是
def lottery_draw(*args):
    candidate = [*args]

然后最后调用的时候,你可以写很多值,我是这么写的,运行结果OK。试试看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表