决定帮我为我的好友做一个实验室,第一次做这个,所以请不要取笑我的代码大声笑。我必须得到一个数字“num”,表示要添加到阵列的数量,然后是总数。然后,我想从数组的大小添加用户定义的数字。然后,如果这些数字中的任何一个加起来然后打印出来,否则打印抱歉。无法理解为什么它不起作用:(
EXTRA EDIT:问题是,我的脚本没有显示总计加起来的数字,只有打印('抱歉')
编辑:我在这个java和C之前学过,无法弄清楚foor循环或变量类型是如何实例化的。
num = int(input('Please enter the amount of numbers you wish to use: '))
total = int(input('Please the total wild card number: '))
hasValue = int(0)
ar = []
i = int(0)
j = int(0)
k = int(0)
l = int(0)
m = int(0)
while (i < num):
j = i + 1
inNum = input('Please enter number %d:' %j)
ar.append(inNum)
i = i + 1
while (k < num):
while(l < num):
if ((ar[k]+ar[l])==total):
print(ar[k] +' , '+ ar[l])
hasValue = hasValue + 1
l = l +1
k = k + 1
if (hasValue == 0):
print('sorry, there no such pair of values')
答案 0 :(得分:1)
这是如何在python中执行for循环:
for x in range(10):
# code for the for loop goes here
这相当于:
for (int x = 0; x < 10; x++) {
// code for the for loop goes here
}
...在C ++中
(注意没有初始化变量'x'。当你做一个for循环时,python会自动初始化它。
以下是我认为你想做的事情:
def main():
num = int(input("Enter the amount of numbers: "))
total = int(input("Enter the total: "))
array = []
counter, elem = 0, 0
for user_numbers in range(num):
array.append(int(input("Please enter number: ")))
for each_element in array:
counter += each_element
elem += 1
if counter == total:
print(array[:elem])
break
if counter != total:
print("sorry...")
main()
答案 1 :(得分:1)
当我得到它时,您当前的脚本正在寻找两个结果数字,其中总和等于total
,但应该搜索数组中的任何对,对?所以,如果我们有
ar = [1, 2, 3]
和
total = 5
程序应显示2, 3
对。但它找不到1+3
的{{1}}。
以下是一些一般性建议:
total=4
调用中存在错误,其中打印了对(字符串应该在str + int并置中首先出现)。使用格式
print
或打印结果为元组
print('%d, %d'.format(ar[k], ar[k])
使用print(ar[k], ar[l])
代替for k in range(num)
while
最好是布尔值
嗯,这是我的解决方案(python2.7)
hasValue
答案 2 :(得分:0)
while (k < num):
while(l < num):
if ((ar[k]+ar[l])==total):
print(ar[k] +' , '+ ar[l])
hasValue = hasValue + 1
l = l +1
k = k + 1
除了循环不是“pythonic”之外,你需要在k循环中初始化l = 0.
while (k < num):
l = 0
while(l < num):
if ((ar[k]+ar[l])==total):
print(ar[k] +' , '+ ar[l])
hasValue = hasValue + 1
l = l +1
k = k + 1
或更多python方式:
for num1 in ar:
for num2 in ar:
if num1+num2==total:
print(num1 +' , '+ num2) # not sure about this syntax. I am a python beginner myself!
hasValue = hasValue + 1