如何解决无法打破 Python 中的回文循环
我只是一个使用 Python 的初学者,并且已经创建了代码来打印 1-1000 范围内的所有回文数。但是,在我的打印语句之后,代码只是不断循环并从 1 到 99 一遍又一遍地打印数字。我试过用break;在 print(i) 语句之后,但它会导致控制台在循环中打印 1 和 *Palindromes 而不是回文数字。有什么建议可以跳出循环吗?`
pi = 3.14159
area = 0
def areaSquare(squareWidth):
return squareWidth * squareWidth
def areaCircle(radius):
return pi *(radius * radius)
def menu(): #Creat the menu for user to see
print("\nCalculations")
print("1. Calculate area of a square\n2. Calculate the area of a circle\n3. Display palindromes up to 1,000\n4. Exit programme.")
menu() # call the menu
option = int(input("Enter an option: "))
while option != 4: #create a loop
if option == 1:
print("***Area of a square***")
squareWidth = float(input("Enter width of square(cm): "))
print("The area of the square of width ",squareWidth,"cm = ",areaSquare(squareWidth),"cm squared")
menu()
option = int(input("Enter an option: "))
elif option == 2:
print("***Area of a circle***");
radius = float(input("Enter radius of circle(cm): "))
print("The area of a circle of ",radius,areaCircle(radius)," round")
menu()
option = int(input("Enter an option: "))
elif option == 3:
for i in range(1,1000):
if str(i) == str(i)[::-1]:
print(i,)
else:
print("Invlid entry,please select a number between 1 and 4.")
menu()
option = int(input("Enter an option: "))
print("Goodbye!")
解决方法
Python 3
print("**Palindromes***");
for i in range(1,1000):
if str(i) == str(i)[::-1]:
print(i,)
这应该可以解决问题。我认为您有一个导致代码缩进的外循环,这就是为什么您的循环没有中断。
,谢谢大家。我将 while 循环更改为 if 语句,并且能够使循环中断!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。