C에 a라고 입력할 때마다 값이 달라지게 하는 건 없습니다.
#include <stdio.h>
#include <stdlib.h>
#define a (rand() % 5)
int main(int argc, char **argv)
{
srand(1234);
int i;
for(i = 0; i < 10; i++)
{
printf(" %d", a);
}
return 0;
}
// 결과: 3 3 1 3 1 2 4 3 1 4이런 경우를 말씀하신 것 같은데, 여기서 a는 변수가 아닙니다.
사실 (rand() % 5)라고 쓴 것과 다르지 않습니다. 단지 매크로를 통해 a로 쓸 수 있게 했을 뿐입니다.
파이썬에서도 비슷하게 하려면 할 수는 있습니다.
import random
def a():
return random.uniform(0,5)이렇게 하면 앞으로 random.uniform(0,5)를 줄여서 a()로 쓸 수 있습니다.
권장하고 싶은 방법은 아니네요