为什么赢了';t my if,else语句在while循环中用python工作

为什么赢了';t my if,else语句在while循环中用python工作,python,if-statement,while-loop,Python,If Statement,While Loop,If/else语句在while循环中不起作用。这个程序的目的是“让用户输入一个数字,打印出它前面的每个数字,判断数字是偶数还是奇数,打印总数。然后让用户输入他是否想重复这个过程”。这是源代码(请记住,我是一名学生,对编码非常陌生): if语句将反复运行,无论我为repeat变量输入什么,谁能告诉我原因。或语句对第一个布尔值求值,如果为False,则对第二个布尔值求值。您的第二个布尔语句实际上是一个字符串,字符串总是True,这意味着它们存在。唯一返回False的字符串是空字符串“” 因此,无论第

If/else语句在while循环中不起作用。这个程序的目的是“让用户输入一个数字,打印出它前面的每个数字,判断数字是偶数还是奇数,打印总数。然后让用户输入他是否想重复这个过程”。这是源代码(请记住,我是一名学生,对编码非常陌生):


if语句将反复运行,无论我为repeat变量输入什么,谁能告诉我原因。

语句对第一个布尔值求值,如果为False,则对第二个布尔值求值。您的第二个布尔语句实际上是一个字符串,字符串总是True,这意味着它们存在。唯一返回False的字符串是空字符串

因此,无论第一个布尔值是什么,也就是说无论
repeat
的值是什么,
“yes”
的计算结果始终为True


你想要
如果repeat==“Yes”或者repeat==“Yes”
或者
如果repeat in['Yes','Yes']
或者更好地使用一个集合:
如果repeat in{'Yes','Yes'}

是的,这个问题会很多
repeat==“是”或“是”
repeat==“是”或repeat==“是”
不同。后者是你想要的,因为前者总是,总是,总是,总是真实的:)这一个很难寻找,使它更有趣。
print("Christian Dooley")
print("Lab #5")
import sys

def calculation():
 counter = 0
 NumberOfElements = 1
 numbers = []
 sum = (0)
 for i in range(NumberOfElements):
     value=eval(input("Enter a new number:"))
     numbers.append(value)
 while counter <= value:
     print(counter)
     sum+=counter
     counter+=1
     if counter % 2 != 0:
         print("This number is even")
     else:
         print("This number is odd")
 print(sum)

while True:
 calculation()
 repeat = input("Do you want to 'count' another number \n Awnser yes or no: ")
 if repeat == "Yes" or "yes":
      calculation()
 elif repeat == str("no") or str("No"):
      break
if repeat == "Yes" or "yes":
          calculation()
     elif repeat == str("no") or str("No"):
          break