python - 提款机程序
问题描述
如何在开始时返回我的代码?
我需要将此代码返回到语句中odpoved=input("vlozit/status/vybrat/koniec: ")
,因为我想一次又一次地重复我的程序,直到用户选择选择"koniec"
(然后该程序将完成)。
我是初学者。
value=10
def koniec():
print("dovidenia")
def status():
print("Aktuálny zostatok na účte je {} EUR.".format(value))
def vybr():
vyber=input("Aktuálny zostatok na účte je {} EUR. Zadaj hodnotu, ktorú chceš vybrať: ".format(value))
vyber2=float(vyber)
if vyber2 > value:
print("Váš výber je o {} EUR väčší ako Váš aktuálny zostatok.".format(vyber2-value))
elif vyber2 <= value:
print("Schválene...", "\n", "Vyberte si peniaze.", "\n", "Noví zostatok na Vašom účte je {} EUR.".format(value-vyber2))
def vlz():
vloz=input("Zadaj hodnotu, ktorú chceš vložiť: ")
vloz=float(vloz)
print("Nový zostatok na účte je {} EUR.".format(value+vloz))
odpoved=input("vlozit/status/vybrat/koniec: ")
while odpoved == "koniec":
koniec()
else:
while odpoved == "status":
status()
break
zisti=input("vlozit/vybrat")
while odpoved == "vybrat":
vybr()
break
while odpoved == "vlozit":
vlz()
break
解决方案
您似乎对正确使用条件(if
/ elif
/ else
)和循环有点困惑......
在这里,您基本上想要一个无限while
循环,您可以在其中询问用户他想做什么,并使用条件来调度正确的操作(其中之一是退出循环):
while True:
thing_to_do = input("what should I do ?")
if thing_to_do = "exit":
break
elif thing_to_do == "dothis"
dothis()
elif thing_to_do == "dothat":
dothat()
else:
print("sorry, I don't know how to do '{}'".format(thing_to_do))
推荐阅读
- delphi - 为什么这个接口硬转换似乎有效?
- c# - WPF:如何测试应用程序是否在 Appium 中最小化
- r - 从 2 个不同数据帧的 2 列中比较或提取唯一行
- rust - rust iterator::any 只接受 FnMut 签名的函数?
- sql - Postgres CUBE 搜索 - 可选/任何值
- node.js - 在 overmind graphql 中导入 Phoenix npm 包失败
- python - 使用旋转矩阵和相机矩阵的像素投影,有人可以回顾一下我做错了什么吗?
- angular - 如何从角度的另一个组件中的函数重建另一个组件?
- telegram - 在 Telegram 中使用 Telethon 提升用户
- java - 为什么Java代码编译有区别:mvn verify vs mvn compile