【发布时间】:2018-07-12 21:47:19
【问题描述】:
我正在尝试学习“while”循环和计数器。我了解如何在基本级别上使用它们,但我觉得在这种情况下我已经用完了它们,并且可能有一个更好的初学者答案仍然使用 while 循环和 if/elif/else 语句。
基本上,程序应该根据计数器从 0 开始打印句子 1,然后在第 4 个句子之后打印副歌...然后继续打印接下来的 4 个句子,然后是副歌最后两次。
这就是我现在所处的位置,但就像我提到的那样,我觉得我已经用完了 while 循环,使它变得更简单,而且有点像作弊。
ver1 = ['sentence1', 'sentence2', 'sentence3', 'sentence4']
ver2 = ['sentence5', 'sentence6', 'sentence7', 'sentence8']
chor1= ['chorus1', 'chorus2']
counter = 0
while counter == 0:
print(ver1[0])
counter += 1
while counter == 1:
print(ver1[1])
counter += 1
while counter == 2:
print(ver1[2])
counter += 1
while counter == 3:
print(ver1[3])
counter += 1
#this if statement was my decision just to see if I could use it properly, but I'd like to do the entire thing with while loops if possible....but using if/elif/else statements isn't forbidden.
if counter >= 5:
print(ver1[3])
else:
print(chor1[0])
我从 if 语句开始创建它,但老师问我是否会尝试使用 while 循环作为家庭作业...这是我编写的原始 if/elif/else 语句。
verse1 = "I came home and my dog was gone"
verse2 = "She took my dog and my truck"
verse3 = "oh no she didn't"
chorus = "ohh how times have changed"
truck = 'gone'
dog = 'gone'
if dog == "gone":
print (verse1)
print (chorus)
else:
print(verse3)
if truck == 'gone':
print (verse2)
print (chorus)
else:
print (verse3)
这只是程序的第一部分,因为我不想继续它并浪费我的时间,如果有更好的答案,而不是复制/粘贴 while 循环并进行几个小编辑以确定要打印的内容。
【问题讨论】:
-
我的赞美。您是少数具有您的声誉值的用户之一,他们会阅读自己的问题并检查适当的格式。这是一个快速而好的编辑。非常欢迎使用 StackOverflow。
-
这对我来说应该是一个
for循环——您是否特别关注while?还是一般来说只是循环? -
很多老师似乎坚持先教
while,再教for。然后,他们没有考虑使用while的好例子,而是给学生一堆只是乞求for的作业,但坚持要用while代替。所以更聪明的学生(可能像这个学生)直觉地知道他们缺少一些东西——他们想要写for声明,即使他们还不知道,所以他们觉得像 Python 一样,而不是他们的老师,正在限制他们的表现力。这只是一种糟糕的教人方式。 -
while 循环特别.. 虽然我注意到当我搜索 'while'..while/for 似乎是主题时,但我注意到我们没有涵盖 'for' 语句。
-
谢谢大家。我发布了我的最终代码作为答案。感谢所有帮助。
标签: python python-3.x while-loop