如何将函数转换为整数?

问题描述 投票:0回答:1

我找不到一种方法让我的骰子模拟器将函数从字符串转换为整数。我一直在尝试合并“多少面”和“多少卷”功能,但我无法弄清楚。

def n():
    for counter in range(1, r2):
        random.randint(1, b)

n2 = n()

n2 = str(n2)

n2_int = int(n2)

n2_int = int(n2_int)

print('You rolled a', n2_int)

虽然公平地说,我对Python来说是一个相对菜鸟,已经放下它大约2年了。

我已经使用 ChatGPT 来解决它,但它没有帮助,并且花了一段时间在堆栈溢出上尝试修复它。仍然显示“TypeError:Int() 参数必须是字符串”和“ValueError:以 10 为基数的 int() 的文字无效:“无”的变体”

python dice
1个回答
0
投票

您的代码片段缺少数据。 r2从哪里来?您没有将其作为参数传递给您的函数:

如果您希望函数使用一个值,那么您必须向它传递一个值。 例如:

def sum_two_numbers(a, b):
    result = a + b
    print(result)

然后你必须调用该函数..意思是..告诉python使用这个函数并用实际值更改a,b..

sum_two_numbers(2,5)

这确实会返回7

看起来你想要实现的目标是这样的

import random
    
    rolls = int(input("How many rolls?"))      #create an int variable for rolls
    sides = int(input("How many sides?"))      #create an int variable for die sides
    
    def n(r2, b):                       #define positional arguments to your function
        for x in range(1, r2):           #use your args in function 
            print(random.randint(1, b))  #print the random result of your die
    
    n(rolls, sides)    #your function call passing your previously created values
    print(f'You rolled a {sides} sides die {rolls} times') #fancy report 
© www.soinside.com 2019 - 2024. All rights reserved.