2016-11-16 11 views
-3

が動作していない:プログラムは、私はPythonのnoobのだと学校のために、私は6つのオプションを持ってプログラムを記述する必要が

  1. 平均テストスコア
  2. に表示する税を平方根を探す
  3. ランダム性
  4. は、日付と今日の日の量を見つける
  5. して終了

私はこの日付を除いてすべて完全です。ここに私のコードです:

#test.py 
    from math import * 
    from random import * 
    from datetime import * 
    cont = True 
    a = 0 
    print("My Custom Functions") 
    print("1. What's the root?") 
    print("2. Average my test scores.") 
    print("3. Show me the tax.") 
    print("4. Randomness.") 
    print("5. How many days?") 
    print("6. Exit") 

    def option(): 
    cont = True 
    global a 
    global cont 
    o = input("Enter an option") 
    if o == "1": 
     a = float(input("This function prints a square root. Enter a number (1-9999):")) 
     print(sqrt(a)) 
    if o == "2": 
     b = input("Enter any number of test scores (1-100). Separate each by a space:") 
     l = [] 
    l = [float(score) for score in b.split()] 
    avg =sum(l)/len(l) 
    print(round(avg,5)) 
    if o == "3": 
     c = float(input("This function shows how much your sales tax (7.5%) is for your purchase. Enter the purchase amount (<10,000):")) 
     d = c * .075 
     print("$",c+d) 
    if o == "4": 
    print(randrange(1,100)) 
    if o == "5": 
     d = input("“This function shows how many days there are between today and a date you enter. Enter a date in this format (mm dd yy):") 
     int(d) 
     d1 = date(d) 
     d2 = date.today() 
     print(d2 - d1) 
    if o == "6": 
     print("Exitting Program") 
     cont = False 

    while cont == True: 
    option() 

私は私が受け取った答えとしてコードを編集しました。 ValueError:基数10のint()の無効なリテラル:'10 24 18 '。私は解決策を求めて研究しましたが、運がありません。

答えて

0

スペースのリストがfloat Sを分離floatではありません、あなたは最初にそれを分割する必要がある、とその後山車に変換:

if o == "2": 
    b = input("Enter any number of test scores (1-100). Separate each by a space:") 
    l = list(map(float, b.split())) # or use a list comprehension 
    print(sum(l)/len(l)) 

そして、あなたはintに日付を変換することはできませんそれは意味をなさない。

+0

アドバイスありがとうございます。 –

1

オプション2の場合は、の後にの文字列を分割して変換します。オプション5については

b = input("Enter any number of test scores (1-100). Separate each by a space:") 
l = [float(score) for score in b.split()] 
print(sum(l)/len(l)) 

、あなたは適切datetime.dateオブジェクトを使用する必要があります。

d = input("“This function shows how many days there are between today and a date you enter. Enter a date in this format (mm dd yy):") 
mm, dd, yy = [int(t) for t in d.split()] 
d1 = date(2000 + yy, mm, dd) 
print((date.today() - d1).days) 
+0

"Hello!"と入力しないと – dsgdfg

+0

私は2を固定しました。私はまだ5で問題を抱えています。 –

+0

@Mike:5の詳細を追加しました。 – Billy

関連する問題