无法将变量与numb相乘

2024-05-15 19:30:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图缩短我的代码,并有更多的功能,但它不工作的权利。

这是我的代码(基本上)

def times4():  
    number = droid.dialogGetInput('Input', 'Enter a number between 1 and 10').result  
    number4 = number * 4  
    if number == '1':  
        droid.dialogCreateAlert(number,number + ' * 4 =' + number4)  
        droid.dialogSetPositiveButtonText('Ok')  
        droid.dialogShow()  
        droid.dialogGetResponse()  

我明白了:

1,1 * 4 = 1111

当我想得到这个:

1,1 * 4 = 4

Tags: and代码功能权利numberinputifdef
3条回答

你的变量号是一个字符串而不是一个整数,所以它是一个“字符串乘法”。尝试将数字转换为int或float。

number = int (number)

number = float (number)

问题是,当用户输入一个数字(或任何东西)时,该输入被存储为一个字符串。因此,当您得到用户的输入时,您不会得到1-而是得到'1'

>>> '1' * 4
'1111'

>>> 1 * 4
4

解决办法是改变

number = droid.dialogGetInput('Input', 'Enter a number between 1 and 10').result

number = int(droid.dialogGetInput('Input', 'Enter a number between 1 and 10').result)

干杯

你想要:

number = int(number)

现在,“number”是一个字符串(即“1”而不是“1”),所以自然地将它乘以4就得到了“1111”。使用int()将给出字符串的整数表示形式。

相关问题 更多 >