-1
num=int(input("what is your number"))
total=int(input("how many times do you want this number to appear"))
new_num=0
for i in range (total):
    new_num=num*10
    new_num=new_num+num
print (new_num)

即使我将范围更改为(total+1),我也一直得到 33。我必须做什么才能获得 333

4

2 回答 2

1

当您遇到此类问题时,请使用调试器(python 在 pdb 中包含一个)来单步调试代码并查看变量如何变化。

在简单的情况下,只需使用 print。在这种情况下print(new_num),每次分配给 new_num 时都放一个。

在这种情况下,您会注意到 new_num 设置为错误值的位置。

您继续分配 new_num=num*10 而不是将 new_num 乘以 10

于 2021-12-21T14:22:00.310 回答
1

正如我从你的问题中了解到的那样,你的价值num3. 也total一样3

注意:在发布您的问题时,请始终尝试提供一些示例,以便回答者可以阅读、理解和建议、帮助。

我在这里为您提供了一个快速解决方案,只需尝试修改以用于其他目的。

int(f'{num}' * total)足以给你。你可以稍微改变一下,也可以为浮点数做。

>>> num=int(input("what is your number: "))
what is your number: 3
>>> 
>>> total=int(input("how many times do you want this number to appear: "))
how many times do you want this number to appear: 3
>>> 
>>> int(f'{num}' * total)
333
>>> 

谢谢。

于 2021-12-21T14:27:46.540 回答