このwhileループを以下のforループに適用したいと思います。各ifステートメントで、ifステートメントの前にwhileループを配置してみました。ifステートメントの前(forループ内)に置くと、ユーザーに1回尋ねてから、範囲全体(1,8)に対して同じ入力を返します。このwhileループを各質問に適用したいのですが、2から8の7つの項目をどのように実装すればよいですか。誰か助けてくれませんか、ありがとう
def valid_entry ():
price = 110
invalid_input = 1
while price< 0 or price> 100:
if invalid_input >=2:
print "This is an invalid entry"
print "Please enter a number between 0 and 100"
try:
price= int(raw_input("Please enter your price : "))
except ValueError:
price = -1
invalid_input +=1
whileループの終わり
def prices ():
x = range (1,8)
item=2
price=0
for item in x:
item +=1
print "\n\t\titem",item
price = int(raw_input("Enter your price : "))
if price <10:
price=1
print "This is ok"
if price >9 and price <45:
price +=5
print "This is great"
if price >44 and price <70:
price +=15
print "This is really great"
if price >69:
price +=40
print "This is more than i expected"
print "\nYou now have spent a total of ",price
prices ()
回答がないということは、それがばかげた質問であることを示しているのでしょうか、それともできないのでしょうか。
これはそれをより明確にしますか?
def prices ():
x = range (1,8)
item=2
price=0
for item in x:
item +=1
print "\n\t\titem",item
valid_entry ()#should it go here
price = int(raw_input("Enter your price : "))
valid_entry ()#should it go here
if price <10:
valid_entry ()#should it go here and so on for the following 3 if conditions
price=1
print "This is ok"
if price >9 and price <45:
price +=5
print "This is great"
if price >44 and price <70:
price +=15
print "This is really great"
if price >69:
price +=40
print "This is more than i expected"
print "\nYou now have spent a total of ",price