0

AlfaSegundo、AlfaMinuto、AlfaHora の値が同じ場合の t の値を確認したいと思います。

def PosicaodoponteiroSegundo(t):
    AlfaSegundo = 6 * t % 360
    return AlfaSegundo

def PosicaodoponteiroMinuto(t):
    AlfaMinuto = t / 10 % 360
    return AlfaMinuto

def PosicaodoponteiroHora(t):
    AlfaHora = t / 120 % 360
    return AlfaHora


a = PosicaodoponteiroSegundo(t)
b = PosicaodoponteiroMinuto(t)
c = PosicaodoponteiroHora(t)

def Instantes(a, b, c):
    a = b
    b = c
    return t

print Instantes(a, b, c)

私は何をすべきか?ありがとう。

4

2 に答える 2

1

私はこれがあなたが思っていることをするとは思わない

def Instantes(a, b, c):
    a = b
    b = c
    return t

print Instantes(a, b, c)

関数内で、、、aおよびbすべては、渡した値を参照します。事実上、次のように置き換えることがcできます。print Instantes(a, b, c)print t

ここで行う必要があるのは、次のように言うことだけです。

if a == b == c:
    print t

編集:

mod を使用しているため、機能を元に戻すことはできません。代わりにできることはt、それを受け取って他の関数に渡す関数を書くことです。

def some_function(t):
    segundo = PosicaodoponteiroSegundo(t)
    minuto = PosicaodoponteiroMinuto(t)
    hora = PosicaodoponteiroHora(t)
    if segundo == minuto == hora:
        print(t)
于 2013-11-12T22:47:17.610 に答える
0
a = PosicaodoponteiroSegundo(t) = (6 * t) % 360
b = PosicaodoponteiroMinuto = (t / 10) % 360
c = PosicaodoponteiroHora = (t / 120) % 360

今のところ、おそらくモジュロを無視できます

a = 6*t
b = t/10
c = t/120

これにより、t ST を解くことができます。

t = a/6.0
t = b*10
t = c*120

残念ながら、これはモジュロ 360 を無視しますが、これは回復不能である可能性が高く、除算の切り捨ても行われるためt=a/6.0、最善の策である可能性があります。

于 2013-11-12T23:02:03.203 に答える