我找到的一本书中的一个问题。
编写一个程序,要求用户输入一个整数并打印两个整数,root 和 pwr,这样 0 < pwr < 6 并且 root**pwr 等于用户输入的整数。如果不存在这样的对,打印不可能找到这样的对。
integer = 3 #there will be raw_input but I use it as an example
root = 0
for pwr in range(1,6):
if root**pwr != integer:
pwr += 1
print pwr
else:
print root, pwr
if pwr > 5:
pwr = 1
root += 1
Run Code Online (Sandbox Code Playgroud)
我还没有完成程序,因为我无法正确循环。问题是我收到输出 2、3、4、5、6,然后循环终止。但是,我确实在您看到的最后一个 if 语句代码块中对 pwr 变量使用了重启。但是,它无论如何都会停止执行。这里有什么问题?
我一直试图解决这个问题,因为它是构建Hangman游戏的一部分.
我的问题是我需要编写一个代码来检查所有列表项是否都在秘密字中.如果所有都在列表中,它将返回True,否则返回False.
这是我做的工作:
def isWordGuessed(secretWord, lettersGuessed):
a_list = []
for i in range(0, len(lettersGuessed)):
a_list.append(lettersGuessed[i])
str1 = ''.join(a_list)
if str1 in secretWord:
return 1
else:
return 0
isWordGuessed('apple', ['e', 'i', 'k', 'p', 'r', 's'])
Run Code Online (Sandbox Code Playgroud)
但是,我试过这样做:
isWordGuessed('apple',['a','p','l','p','e'])
它返回False,即使列表中的所有字母都在'apple'中
我想我可以在不制作字符串的情况下解决这个问题,但我不知道怎么做.顺便说一句,这必须适用于给出的任何单词和列表.如果所有列表项都在单词中,则为true,否则为false ...有任何帮助吗?
我正在努力完成一项任务.打印4个完整数字,介于1到10000之间.
在数论中,一个完整数是一个正整数,等于其正确的除数之和,即除数除数之外的正除数之和.
这是我的代码:
public class PerfectNumbers
{
public static void main(String[] args)
{
// Perfect numbers!
for (int number = 1; number < 10000; number++)
{
int sum = 0;
int i = 1;
while (i < number)
{
if (number % i == 0)
{
sum += i;
i++;
}
else
{
i++;
continue;
}
if (sum == number)
{
System.out.println(number);
}
else
{
continue;
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出是:
6
24 <--- This one is …
Run Code Online (Sandbox Code Playgroud)