刚刚发现了这个论坛,令人难以置信的是其社区的帮助。好吧,我有一个问题,试图在Python上进行"循环"。我希望该程序的菜单重复,直到您选择选项6 -Salir(退出)。一开始一切都很好,但是在我选择一个选项并打印X事物之后,我按Enter返回菜单或继续(就像您在C上使用暂停时一样)并获得错误。
Juan es un empleado mexicano comun con poco salario minimo. Que quiere saber de el? MENU
1.Salario
2.Sombrero
3.Playera
4.Pantalones
5.Tenis
6.Salir
Seleccione una opcion 1 El salario de Juan es 7.5
MENU
1.Salario
2.Sombrero
3.Playera
4.Pantalones
5.Tenis
6.Salir
Seleccione una opcion Traceback (most recent call last): File "C:UsersjoguzmanDocumentsProyectos EclipseClasessrcmain.py", line 22, in <module>
opcion=int(input("nSeleccione una opcionn")) ValueError: invalid literal for int() with base 10: ''
我也希望它清除屏幕,这根本不会发生。这是我的代码:
import os class empleadoClass: #las propiedades que tendra cada empleado
salario=7.5
sombrero='nike'
playera='polo'
pantalones='patito'
tenis='adidas'
juanObject = empleadoClass() #'juanObjeto' esta "heredando" propiedades de empleadoClass
print ("Juan es un empleado mexicano comun con poco salario minimo. Que quiere saber de el?") opcion=1
while (opcion!=6):
print("MENU n1.Salario n2.Sombrero n3.Playera n4.Pantalones n5.Tenis n6.Salir")
opcion=int(input("nSeleccione una opcionn"))
if (opcion==1):
print ("El salario de Juan es ",juanObject.salario)
os.system('pause>nul')
os.system('cls')
elif (opcion==2):
print ("La marca del sombrero de Juan es ",juanObject.sombrero)
os.system('pause>nul')
os.system('cls')
elif (opcion==3):
print ("La marca de la playera de Juan es ",juanObject.playera)
os.system('pause>nul')
os.system('cls')
elif (opcion==4):
print ("La marca de los pantalones de Juan es ",juanObject.pantalones)
os.system('pause>nul')
os.system('cls')
elif (opcion==5):
print ("La marca de los tenis de Juan es ",juanObject.tenis)
os.system('pause>nul')
os.system('cls')
elif(opcion==6):
print ("Gracias por usar nuestro programa!")
else:
print ("Ingrese una opcion correcta")
os.system('pause>nul')
os.system('cls')
预先感谢!:D和对不起的任何语法错误,您可以看到我不是说英语的人。
编辑:在发布时,代码的结构似乎很混乱...有人知道如何解决这个问题吗?:/
我认为这样的菜单的一种更简单的方法是:
def print_menu():
# print stuff here, 6 exits
while True:
print_menu()
try:
choice = int(input('>>'))
if choice == 1:
blah
elif choice == 2:
more blah
elif choice == 6:
break
except ValueError:
handle_error()
清除取决于您使用的操作系统以及如何运行程序的屏幕。查看此问题 - 如何清除Python中的屏幕