创建字符串字符作为函数的默认参数

时间:2016-07-20 07:38:46

标签: python python-3.x

早上好,

目前我正在尝试为课程创建直方图。我现在正在发展我的技能,因为我只做了两个月,而且我知道这是一个专业人士的网站,请你原谅我缺乏理解。

def histo_print(times, dicerand, symbol='*'):
    print('%ds: %s' % (times, (dicerand * symbol)))

问题:

  1. 是否可以将字符串用作“symbol”的默认值?

  2. 通过在循环外部的“symbol”变量中指定默认字符串字符,我会更好吗?然后在分配后输入输入函数?

  3. 我还没有发现之前提出的问题类似于我现在要问的问题。 如果有人知道这个问题的答案在哪里请发布网址,我更愿意研究而不是给出答案;但是,我没有多少时间可以完成。提前感谢您的帮助。

    这是整个代码:

    def histo_print(times,dicerand,symbol):
        if symbol == none
        print ('%ds: %s' % (times,(dicerand * symbol)))
    
    def rand(user_input):
        number = 0
        while number != user_input:
            die1 = random.randint(1, 6)
            die2 = random.randint(1, 6)
            roll_total = die1 + die2
    
    
    return roll_total
    
    """Introduction"""
    print('Welcome to the Dice roll histogram.')
    
    if num_rolls >= 1:
        """Adds one to user input because the for loop starts at one."""
        num_rolls += 1
        """Optional Secondary input based on if the number entered is greater than zero."""
        character = str(input('Please enter character:\n'))  # Additional input for user choice.
        """Unnecessary, just looks nice."""
        print('Dice roll histogram:\n')
        for i in range(1,num_rolls):
            rand(num_rolls)
    
            #Output
            histo_print(i, rand(num_rolls),character)
    
    else:
        print('Invalid number of rolls. Try again.')
    

1 个答案:

答案 0 :(得分:2)

回答你的第一个问题,是的。是的,您绝对可以使用字符串值作为"默认"在你的功能。对于初学者,请快速阅读此处以避免常见问题==> http://docs.python-guide.org/en/latest/writing/gotchas/。在你的情况下,我会保持这样。

现在为您的下一个问题,虽然您绝对可以放置这个"默认" for循环中的值。但是,为了便于阅读,经验法则是将这些默认值放在函数中并根据需要覆盖。