您有多少次在代码深处遇到过带有return语句的函数?或者没有注意到循环中的中断或继续?虽然我最近没有被return打得措手不及,但我仍然对continue和break感到措手不及。
\n本科毕业后不久,我向 Dennis Ritchie 建议更改 C\xe2\x80\x99s 的中断语句。虽然我不再希望做出改变,但 Dennis\xe2\x80\x99s 的回应包含了更广泛适用的智慧:
\n您的建议是 \xe2\x80\x98break\xe2\x80\x99 语句应该用一个数字来表示要逃脱的级别数,这一建议之前已经出现过。这是我和 X3J11 委员会仔细考虑的一个想法,它在几个方面都很有吸引力。然而,语言标准化委员会决定拒绝它。这个想法的固有问题之一是它加剧了 \xe2\x80\x98break\xe2\x80\x99 已经存在的困难,即很难确定控制权的去向。源程序中非常小的变化会导致控制流发生巨大的变化,并且混乱程度随着中断级别的数量而增加。[强调我的]
\n我相信问题不在于break和其他控制流语句。问题是我们如何缩进这些陈述。缩进不应位于控件所在的位置。相反,缩进应该达到控件所在的水平。所以,而不是
\nfunc(....) {\n \xe2\x80\xa6\n for (...) {\n \xe2\x80\xa6\n if (...) {\n break;\n }\n \xe2\x80\xa6\n }\n \xe2\x80\xa6\n}\n
Run Code Online (Sandbox Code Playgroud)\n我建议我们缩进如下
\nfunc(....) {\n \xe2\x80\xa6\n for (...) {\n \xe2\x80\xa6\n if (...) {\n break;\n }\n \xe2\x80\xa6\n }\n \xe2\x80\xa6\n}\n
Run Code Online (Sandbox Code Playgroud)\n上面的代码看起来很难看,但这正是重点。
\n通过像往常一样缩进,我们可能会掩盖意外的行为。通过按建议缩进,我们使意想不到的事情成为了预期。这将有助于更好地理解代码,并让所有人获得更好的睡眠。
\n我不知道丹尼斯对此有何感想。可悲的是我从来没有由他来管理它。然而,如果你喜欢这个想法,作为对丹尼斯的致敬,我希望以他的名字命名它。K&R的缩进风格已经归功于他。称此为Ritchie 缩进会令人困惑。因此,我建议我们将其称为Ritchie …
print'Personal information, journal and more to come'
while True:
x = raw_input()
if x =="personal information":
print' Edward , Height: 5,10 , EYES: brown , STATE: IL TOWN: , SS:'
elif x =="journal":
print'would you like you open a journal or create a new one? open or create'
if x =='createfile':
name_of_file = raw_input("What is the name of the file: ")
completeName = "C:\\python\\" + name_of_file + ".txt"
file1 = open(completeName , "w")
toFile = raw_input("Write what you want into …
Run Code Online (Sandbox Code Playgroud) 我有活动,我正在打开相机,语音和视频的意图.我正在使用onActivityResult.但是当onActivityResult被调用时,我正在观察一些非常奇怪的事情,在所有情况下,所有情况下被调用意味着它的gng.
怎么可能.我错了什么?.
以下是我的代码
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
switch(requestCode) {
case 1:
Uri selectedImage = data.getData();
System.out.println("selectedimage"+selectedImage);
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
yourSelectedImage = BitmapFactory.decodeFile(filePath);
/* Now you have choosen image in Bitmap format in object "yourSelectedImage". You can use it in
* way you want! */
btn_img.setImageBitmap(yourSelectedImage);
case 0:
try {
yourSelectedImage …
Run Code Online (Sandbox Code Playgroud) try:
ip = float(input("Enter a number to find it's absolute value (press 'e' to exit):"))
if ip == 'e':
break
Run Code Online (Sandbox Code Playgroud)
Python说断裂不在循环中.有没有人有任何想法如何解决这个问题?提前致谢.
我试图将if else子句转换为while循环中的三元组,但是它不允许我在问号后面有一个中断,将中断处的错误指向为无效表达式.
我怎么会把这个简单的东西变成这样的三元组.
while (true)
{
Console.WriteLine("Enter 3 words seperated by spaces: ");
var input = Console.ReadLine();
//input == "" ? break : ConvertToPascal(input);
if (input == "")
break;
else
ConvertToPascal(input);
}
}
Run Code Online (Sandbox Code Playgroud) 我在php站点中包装一个非常长的字符串有问题.如果用户输入一个没有空格的非常长的字符串,则会破坏设计.例如:"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"我想要一种方法来打破这个词,这样就不会破坏设计.只有在字符串之间没有空格时才会出现问题.它与普通文本的关系如下:https://imgur.com/a/1Tazz
如何看待没有空格的长字符串:https://imgur.com/a/a1Muf
我尝试过使用css自动换行属性,但它没有解决问题.
目前我遇到了这个问题... while循环.
do {
// program code here
cout << "Would you like to run the program again?(yes/no)";
bool exit = false;
string strexit;
do {
getline(cin, strexit);
if (strexit == "no") {
exit = false;
break;
}
else if (strexit == "yes") {
exit = true;
}
else {
cout << "Enter yes to rerun the program, and no to exit.\n";
};
} while (!exit);
system("cls");
} while (exit);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我在网上研究过,如何摆脱do ... while循环,当条件为真时,它会再循环回来,但如果它是假的,它会退出.因此,如果您查看代码,如果用户键入no,则设置exit = false,这将从更大的do while循环中取出,其中break将其从当前do while循环中取出.如果用户输入yes,则将exit更改为true,这会将其从当前的do …
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
Run Code Online (Sandbox Code Playgroud)
该程序打印的素数最多为n out put is
输入数字:10
2
3
5
7
和
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
Run Code Online (Sandbox Code Playgroud)
out put是
输入数字:10
3
5
5
5
7
7
7
7
7
9
如果我在for循环中写break语句然后将变量更新,然后循环退出,或者只是在循环退出的break语句的执行之后?例如
for(i=0;i<100;i++){
//do something something
if(i==50){
break;
}
Run Code Online (Sandbox Code Playgroud)
循环退出后i的值是多少?
我看到一个教程,解释如何在循环中使用"break"语句,但每次我尝试使用它时,我收到编译错误说:
"break语句不在循环或开关内
break;"
这是我的代码:
if (finalFirstChar > 6 || finalFirstChar < 1)
{
printf("You didn't entered a proper number! \n");
break;
}
Run Code Online (Sandbox Code Playgroud) 它是众所周知的,break
并且continue
可以在一个循环内使用:
for (let i = 0; i < 5; i++) {
console.log(i);
if (i === 3) {
break;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在if
语句中使用它们,退出 If 块的控制或重新启动if
语句?
在编写程序时,我遇到了一个奇怪的情况.我需要知道一个for loop
是正常结束还是正常结束break
.有没有办法知道这个?
我似乎无法while
使用break语句突破这个循环.这是我的代码:
while (true) {
Console.WriteLine("What is 1 + 1?");
int answer = Convert.ToInt32(Console.ReadLine());
if (answer != 2)
{
Console.WriteLine("Wrong answer. Press enter to get your next sum");
Console.ReadLine();
}
else if (answer == 2)
{
Console.WriteLine("Well done. Press enter to get your next sum");
Console.ReadLine();
break;
}
}
Console.WriteLine("What is 1 + 3");
int answer2 = Convert.ToInt32(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud) break ×13
loops ×4
c ×3
python ×3
c# ×2
for-loop ×2
if-statement ×2
java ×2
android ×1
c++ ×1
continue ×1
control-flow ×1
cpu-word ×1
css ×1
do-while ×1
indentation ×1
javascript ×1
php ×1
string ×1
syntax-error ×1
while-loop ×1