Loops 而无限?
我试图写一个程序,你可以输入一个数字,然后你想让它乘以多少次。在此之后,您可以选择所需的步骤以及该步骤的编号:Loops 而无限?,loops,for-loop,while-loop,Loops,For Loop,While Loop,我试图写一个程序,你可以输入一个数字,然后你想让它乘以多少次。在此之后,您可以选择所需的步骤以及该步骤的编号: numbr= int(raw_input("pick a number: ")) mult= int(raw_input("keep multiplying by what: ")) listy= [] ff= 1 while x < 999999999999999999999999999: numbr *= mult listy.append(x)
numbr= int(raw_input("pick a number: "))
mult= int(raw_input("keep multiplying by what: "))
listy= []
ff= 1
while x < 999999999999999999999999999:
numbr *= mult
listy.append(x)
ff += 1
cc = int(raw_input("what number do you want: "))
print listy[cc-2]
numbr=int(原始输入(“选择一个数字”))
mult=int(原始输入(“继续乘以:”)
listy=[]
ff=1
当x<999999999999999999999时:
numbr*=mult
listy.append(x)
ff+=1
cc=int(原始输入(“您想要什么号码:”)
打印列表[cc-2]
目前它只上升到那个大数字。我如何让它输出用户想要的任何步骤?如果我在x>1的时候这样做,那么它只是加载,甚至不允许用户输入他们想要的内容。我能做什么?每次将一个数字相乘时,都会将其添加到列表中。您的列表将跟踪所有999999999999999999999999条目。随着条目变得越来越大,每个条目都会占用更多的内存空间。常规整数将从8位开始
您应该让程序采取用户想要的任何步骤,并使用公式计算,而不是生成到该点的所有值。我认为公式应该是:number*mult^cc。首先,计算机内存是有限的,通常应该避免使用超出绝对需要的内存。特别是有问题的时候,你根本不需要中间值——如果你只需要一个数字,为什么还要列一个清单呢 另外,一些关于风格的随机评论:尽量使变量不言自明,并避免在必要时跳过字母或缩短内容。无论如何,这是一个如何实现的示例:
number= int(raw_input("pick a number: "))
multiplier = int(raw_input("keep multiplying by what: "))
times = int(raw_input("multiply how many times: "))
x = 0
while x < times:
number *= multiplier
x += 1
print(number)
此外,如果您观察自己在做什么样的数学运算,就有可能进一步降低代码的复杂性,因为您实际上是将一个数字乘以另一个数字的幂,例如原始代码中的numbr*mult^cc
。由于power运算符在Python中是**
,因此最后的代码是:
number= int(raw_input("pick a number: "))
multiplier = int(raw_input("keep multiplying by what: "))
times = int(raw_input("multiply how many times: "))
print(number * multiplier ** times)
我发布的代码与您的代码有一点不同,因为它不将原始数字作为我们序列的一部分,但好吧,我将把它作为练习留给您,因为这不是一个很难的;) 你的代码完全被破坏了,但不管怎样,你能澄清你到底想要什么吗?你想用
numbr
乘以mult
,cc
的次数,还是……?你说的破碎是什么意思?我想让'numbr'乘以'mult',然后当他们选择他们的'cc'时,它会转到该步骤上的内容。。。例如:numbr=2,mult=2,cc=4等于16。因为2,4,8,16,32,64,第四个(cc)是16。在现实编程中,您将面临数字限制。使用天文数字大的整数值通常需要使用一些特殊的大整数库。另外,计算机没有无限的内存,所以不能在数组中存储无限量的计算。。。
number= int(raw_input("pick a number: "))
multiplier = int(raw_input("keep multiplying by what: "))
times = int(raw_input("multiply how many times: "))
print(number * multiplier ** times)