以下代码的替代方案?我对编码很陌生
Alternatives to the code below? I am very new to coding
import math
i = (2)
max = (2048)
num = (2)
while i < max:
print(int(i))
i *= num
if i > max:
i /= num
break
if i == max:
while i <= max:
print(int(i))
i /= num
if i == round(1):
break
else:
print(int(i))
i /= num
if i == round(1):
break
我对编码领域很陌生,所以我认为 PYTHON3 是一种很好的入门语言!
出于某种奇怪的原因,我希望程序打印出 2 并将其加倍到 2048。然后我想打印出数字但将它们除以 2!我在大约 1-2 小时内得到了我想要的东西(我知道......一个完整的平民。)
因为我是新手,所以我只是想看看这可以通过什么方式实现shortened/improved。
像这样的代码可以进一步改进:
几点建议:1)使用更具描述性的变量名,如upper_bound
,避免内置max
; 2) 学习looping
和变量赋值和表达式等基础知识
upper_bound = 2048
num = 2
while num < upper_bound:
num = num * 2
print(num, end='\t')
while num > 0:
num = num // 2
print(num, end='\t')
你的逻辑大部分都很好,就是冗长。您不需要将变量包装在括号中,也不需要为此导入数学。除了那份好工作。
i = 2
while i < 2048:
print(i)
i *= 2
while i > 2:
i //= 2
print(i)
for x in range(1,12):
z = 2**x
print(z)
for y in range (12,1,-1):
z = 2**y
print(z)
在控制台中编写如下函数调用
printMultiples(2,2048,2)
def printMultiples( initialValue,endValue,multipliedBy):
initialValueSaved = initialValue
while initialValue <= endValue:
print(initialValue)
initialValue *= multipliedBy
while endValue >= initialValueSaved:
print(endValue)
endValue //=multipliedBy
import math
i = (2)
max = (2048)
num = (2)
while i < max:
print(int(i))
i *= num
if i > max:
i /= num
break
if i == max:
while i <= max:
print(int(i))
i /= num
if i == round(1):
break
else:
print(int(i))
i /= num
if i == round(1):
break
我对编码领域很陌生,所以我认为 PYTHON3 是一种很好的入门语言! 出于某种奇怪的原因,我希望程序打印出 2 并将其加倍到 2048。然后我想打印出数字但将它们除以 2!我在大约 1-2 小时内得到了我想要的东西(我知道......一个完整的平民。)
因为我是新手,所以我只是想看看这可以通过什么方式实现shortened/improved。
像这样的代码可以进一步改进:
几点建议:1)使用更具描述性的变量名,如upper_bound
,避免内置max
; 2) 学习looping
和变量赋值和表达式等基础知识
upper_bound = 2048
num = 2
while num < upper_bound:
num = num * 2
print(num, end='\t')
while num > 0:
num = num // 2
print(num, end='\t')
你的逻辑大部分都很好,就是冗长。您不需要将变量包装在括号中,也不需要为此导入数学。除了那份好工作。
i = 2
while i < 2048:
print(i)
i *= 2
while i > 2:
i //= 2
print(i)
for x in range(1,12):
z = 2**x
print(z)
for y in range (12,1,-1):
z = 2**y
print(z)
在控制台中编写如下函数调用
printMultiples(2,2048,2)
def printMultiples( initialValue,endValue,multipliedBy):
initialValueSaved = initialValue
while initialValue <= endValue:
print(initialValue)
initialValue *= multipliedBy
while endValue >= initialValueSaved:
print(endValue)
endValue //=multipliedBy