ساخت ماشین تکرار

سوال

من یه کدی درست کردم میخوام وقتی که ورودی اشتباهه دوباره همون ورودی رو ازمن بخواد اما تو قسمت اخر این عمل اجرا نمیشه نمیدونم مشکل از چیه؟

alamat_ha = [“+”,”-“,”*”,”/”]
checke_a=0
checke_b=1
alamat_ha_dict= {
‘jam’ : “+”,
‘menha’: “-“,
‘zarb ‘:”*”,
‘tagsim’:”/”
}
for shomarande in range (0,99999) :

try:
if checke_a == 0:
a = int (input(“Enter Number 1 : “))

checke_a = 1
alamat = int(input(
“alamat :n1)+n2)-n3)*n4)/n==> ”
))
checke_b == 1
b = int(input(“Enter Number 2 : “))
checke_b=0
else:

alamat = int(input(
“alamat :n1)+n2)-n3)*n4)/n==> ”
))

except ValueError as ve:
print(“Enter Int Number !!!”)
continue

if alamat == 1:
print(f”your answer : {a} {alamat_ha_dict[‘jam’]} {b} = {a + b}”)
if alamat == 2:
print(f”your answer : {a} {alamat_ha_dict[‘menha’]} {b} = {a – b}”)
if alamat == 3:
print(f”your answer : {a} {alamat_ha_dict[‘zarb’]} {b} = {a * b}”)
if alamat == 4:
print(f”your answer : {a} {alamat_ha_dict[‘tagsim’]} {b} = {a / b}”)

 

تو بخش b وقتی ورودی اشتباه میدم دوباره از alamat شروع میشه اما من میخوام هر کدوم رو اشتباه زدم از اون شروع کنه

 

در حال بررسی 0
zamani 1 سال 4 پاسخ ها 137 دیده شده 0

پاسخ ها ( ۴ )

  1. درود

    برای مثال همچین چیزی میتونه باشه

    اگر ورودی اینتیجر بود، میتونید int  شده ی ورودی رو به یک لیست append کنید.

  2. یا باید به function تبدیلش کنی
    یا از while استفاده کنی
    مثل این:

    import re
    name = input(“What is your name? “).strip()
    while not re.match(‘[A-Za-z ]+’, name):
        name = input(” nInvalid nYou should enter string characters: “)
    else: print(f”Your name is {name}”)

  3. من یمدت همین مشکل رو داشتم
    بعد اومدم با استفاده از def اون کارم به function تبدیل کردم و براش حلقه شرطی while تعیین کردم

  4. سلام بهتر هست از try و exception استفاده کنید

ارسال یک پاسخ